Systems and methods for machine learning-based predictive matching

ABSTRACT

Predicting a first mental state of a first user. Predicting, based on the first mental state of the first user and one or more machine learning models, one or more therapeutic matches between the first user and one or more second users of a plurality of second users. Facilitating presentation, via a graphical user interface (GUI), of the one or more therapeutic matches. Receiving, in response to the first user interacting with the GUI, a user selection of a particular second user of the one or more second users of the plurality of second users. Automatically connecting, in response to receiving the user selection of the particular second user of the one or more second users of the plurality of second users, the first user with each of the one or more second users of the plurality of second users.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to U.S. Provisional PatentApplication Ser. No. 63/182,712 filed Apr. 30, 2021, entitled “SYSTEMSAND METHODS FOR MACHINE LEARNING-BASED STATE PREDICTION ANDVISUALIZATION,” and U.S. Provisional Patent Application Ser. No.63/267,385, filed on Jan. 31, 2022, entitled “SYSTEMS AND METHODS FORMACHINE LEARNING-BASED PREDICTIVE MATCHING,” both of which are herebyincorporated by reference herein.

TECHNICAL FIELD

This disclosure pertains to machine learning. More specifically, thisdisclosure pertains to machine learning-based predictive matching.

BACKGROUND

Under conventional approaches, computing systems perform user matchingusing fillable forms. For example, users may complete one or morecomputer forms (e.g., an online form) and the computing system cancompare forms to determine whether any user matches one or more otherusers. However, such computational matching can be inaccurate andcomputationally inefficient.

SUMMARY

Various embodiments of the present disclosure include systems, methods,and non-transitory computer readable media configured to obtain firstelectronic data of a first user. Obtaining second electronic data foreach of a plurality of second users. obtaining first electronic data ofa first user. Obtaining second electronic data for each of a pluralityof second users. Determining first input data for at least one firstmachine learning model based on the first electronic data of the firstuser. Predicting, based on the first input data and the at least onefirst machine learning model, a first mental state of the first user,the first mental state comprising a set of first mood values, a set offirst uncertainty values, and a set of first magnitude values, eachfirst mood value of the set of first mood values being associated with acorresponding first uncertainty value of the set of first uncertaintyvalues and a corresponding first magnitude value of the set of firstmagnitude values, the first magnitude value indicating a first relativestrength or weakness of the associated first mood value. Predicting,based on the first mental state of the first user, the second electronicdata for each of the plurality of second users, and one or more secondmachine learning models, one or more therapeutic matches between thefirst user and one or more second users of the plurality of secondusers. Facilitating presentation, via a graphical user interface (GUI),of the one or more therapeutic matches. Receiving, in response to thefirst user interacting with the GUI, a user selection of a particularsecond user of the one or more second users of the plurality of secondusers. Automatically connecting, in response to receiving the userselection of the particular second user of the one or more second usersof the plurality of second users, the first user with each of the one ormore second users of the plurality of second users.

In some embodiments, the systems, methods, and non-transitory computerreadable media are further configured to perform determining secondinput data for at least one first machine learning model based on thesecond electronic data for each of a plurality of second users;predicting, based on the second input data and the at least one firstmachine learning model, a respective second mental state of each of thesecond users of the plurality of second users, each of the respectivesecond mental states comprising a set of second mood values, a set ofsecond uncertainty values, and a set of second magnitude values, eachsecond mood value of the set of second mood values being associated witha corresponding second uncertainty value of the set of seconduncertainty values and a corresponding second magnitude value of the setof second magnitude values, the second magnitude value indicating asecond relative strength or weakness of the associated second moodvalue; determining one or more inventories of preferences of the firstuser, wherein the inventories of preferences include one or more goalsof the first user; determining one or more respective goals for eachsecond user of the plurality of second users; obtaining labeled sessiondata associated with a plurality of successful therapeutic matches;generating the one or more second machine learning models based on thefirst mental state of the first user, the respective second mental stateof each of the plurality of second users, the inventory of preferencesof the first user, the one or more respective goals for each second userof the plurality of second users, and the labeled session data.

In some embodiments, the first electronic data includes text messagessent by the first user, email messages sent by the first user, voicedata of the first user, image data of the first user, and one or morephysical orientations of a device of the first user.

In some embodiments, the second electronic data includes text messagessent by the second user, email messages sent by the second user, voicedata of the second user, image data of the second user, and one or morephysical orientations of a device of the second user.

In some embodiments, the predicting, based on the first mental state ofthe first user, the second electronic data for each of the plurality ofsecond users, and one or more second machine learning models, one ormore therapeutic matches between the first user and one or more secondusers of the plurality of second users comprises: predicting, based onthe first mental state of the first user, a respective second mentalstate of each of the plurality of second users, the inventory of userpreferences of the first user, the one or more goals of the second user,the labeled session data associated with a plurality of successfultherapeutic matches, and one or more second machine learning models, oneor more therapeutic matches between the first user and one or moresecond users of the plurality of second users.

In some embodiments, the systems, methods, and non-transitory computerreadable media are further configured to perform mapping the set offirst mood values, the set of first uncertainty values, and the set offirst magnitude values to a first coordinate system, the firstcoordinate system comprising a plurality of different first moodregions, wherein each of the set of first mood values is mapped to thefirst coordinate system as a corresponding first user point in the firstcoordinate system, and wherein each of the corresponding firstuncertainty values is mapped as a corresponding first radius originatingat the corresponding first point in the first coordinate system;identifying at least a first mood region of the plurality of differentfirst mood regions that includes at least one corresponding user mappedtherein; identifying at least a second mood region of the plurality ofdifferent first mood regions that does not include any correspondinguser points mapped therein, and includes at least a portion of a firstradius of the corresponding radii mapped in the coordinate system; andwherein the first mental state of the first user is predicted based onthe identified at least a first mood region of the plurality ofdifferent first moods regions, the identified at least a second moodregion of the plurality of different first mood regions, and the firstmagnitude values associated with the at least one corresponding userpoint mapped in the at least a first mood region of the plurality ofdifferent first moods regions and the first radius of the correspondingradii mapped in the first coordinate system.

In some embodiments, the systems, methods, and non-transitory computerreadable media are further configured to perform mapping the set ofsecond mood values, the set of second uncertainty values, and the set ofsecond magnitude values to a second coordinate system, the secondcoordinate system comprising a plurality of different second moodregions, wherein each of the set of second mood values is mapped to thesecond coordinate system as a corresponding second user point in thesecond coordinate system, and wherein each of the corresponding seconduncertainty values is mapped as a corresponding second radiusoriginating at the corresponding second point in the second coordinatesystem; identifying at least a first mood region of the plurality ofdifferent second mood regions that includes at least one correspondinguser mapped therein; identifying at least a second mood region of theplurality of different second mood regions that does not include anycorresponding user points mapped therein, and includes at least aportion of a second radius of the corresponding radii mapped in thesecond coordinate system; and wherein the second mental state of thesecond user is predicted based on the identified at least a first moodregion of the plurality of different second moods regions, theidentified at least a second mood region of the plurality of differentsecond mood regions, and the second magnitude values associated with theat least one corresponding user point mapped in the at least a firstmood region of the plurality of different second moods regions and thesecond radius of the corresponding radii mapped in the second coordinatesystem.

In some embodiments, the first coordinate system comprises atwo-dimensional coordinate system.

In some embodiments, the second electronic data includes text messagessent by the second user, email messages sent by the second user, voicedata of the second user, image data of the second user, and one or morephysical orientations of a device of the second user.

In some embodiments, the first coordinate system comprises athree-dimensional coordinate system

In some embodiments, each first mood value of the set of first moodvalues is associated with a corresponding point in time.

These and other features of the systems, methods, and non-transitorycomputer readable media disclosed herein, as well as the methods ofoperation and functions of the related elements of structure and thecombination of parts and economies of manufacture, will become moreapparent upon consideration of the following description and theappended claims with reference to the accompanying drawings, all ofwhich form a part of this specification, wherein like reference numeralsdesignate corresponding parts in the various figures. It is to beexpressly understood, however, that the drawings are for purposes ofillustration and description only and are not intended as a definitionof the limits of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a diagram of an example system using machine learning topredict mental state and to predict user matches (e.g., therapeuticmatches) based on the predicted mental state according to someembodiments.

FIG. 2 depicts a diagram of an example machine learning-based stateprediction and visualization system according to some embodiments.

FIG. 3 depicts a flowchart of an example of a method of predictingmental state of a user using machine learning and selecting andarranging graphical elements based on the user's predicted mental stateaccording to some embodiments.

FIG. 4 depicts a flowchart of an example of a method of mental stateprediction according to some embodiments.

FIG. 5A depicts an example two-dimensional coordinate systemrepresenting an example mental state according to some embodiments.

FIG. 5B depicts an example three-dimensional coordinate systemrepresenting an example mental state according to some embodiments.

FIG. 6 depicts a flowchart of an example of a method of collectingelectronic data of a user according to some embodiments.

FIG. 7 depicts a flowchart of an example of a method of predictingmental state of a user using machine learning and selecting andarranging graphical elements based on the user's predicted mental stateaccording to some embodiments.

FIG. 8 depicts an example graphical user interface with graphicalelements selected and arranged using machine learning-based stateprediction according to some embodiments.

FIG. 9 depicts a flowchart of an example of a method of predictingmental state of a user using machine learning and manipulating (e.g.,selecting and arranging) graphical elements based on the user'spredicted mental state according to some embodiments.

FIG. 10 depicts an example machine learning-based predictive matchingsystem according to some embodiments.

FIGS. 11A-B depict a flowchart of an example of a method of machinelearning-based match prediction according to some embodiments.

FIG. 12 depicts a flowchart of an example of a method of mental stateprediction for multiple users according to some embodiments.

FIG. 13 depicts a flowchart of an example of a method of machinelearning-based match prediction according to some embodiments.

FIG. 14 depicts a flowchart of an example of a method of determininginventory preferences according to some embodiments.

FIG. 15 depicts a flowchart of an example of a method of machinelearning-based match prediction according to some embodiments.

FIG. 16 is a diagram of an example computer system for implementing thefeatures disclosed herein according to some embodiments.

DETAILED DESCRIPTION

A claimed solution rooted in computer technology overcomes problemsspecifically arising in the realm of computer technology. In variousembodiments, a computing system is configured to predict a mental stateof a first user (e.g., a patient user) based on machine learning, andpredict a match (e.g., therapeutic match) and/or alliance (e.g.,therapeutic alliance) between the first user and a second user (e.g., aprovider user) from a plurality of different second users (e.g., aplurality of provider users). More specifically, the computing systemmay obtain first electronic data of a first user. For example, thecomputing system may scan a first user's device (e.g., smartphone)and/or associated first user accounts (e.g., social media accounts) toobtain data from text messages, email messages, social media services(e.g., Facebook), voice data, image data, and/or the like. The computingsystem may similarly obtain second electronic data of the plurality ofsecond users. For example, the computing system may scan devices (e.g.,smartphones) and/or associated user accounts (e.g., social mediaaccounts) of the second users to obtain data from text messages, emailmessages, social media services (e.g., Facebook), voice data, imagedata, and/or the like. The computing system may use a first machinelearning model to predict a first mental state of the first user basedon the obtained first electronic data and predict respective secondmental states of the second users based on the obtained secondelectronic data. In some embodiments, a mental state may be generallydefined as a distribution of mood values (or, simply, moods) over time.For example, mood values may include “angry,” “sad,” “happy,” and/orother predefined or otherwise generally understood moods. Accordingly,it will be appreciated that, in some embodiments, a mood value isdiscrete, while a mental state is contiguous. The computing system,based on the predicted mental state(s) of the first user and/or thesecond users, can intelligently predict a match between the first userand one or more of the second users using another machine learningmodel. For example, the computing system can provide the predictedmental state(s) of the first user and/or the second users to the machinelearning model, and the machine learning model can output a valueindicative of a successful or unsuccessful match.

Accordingly, the computing system may provide a technological benefitover traditional systems which are typically limited to comparing and/orfiltering computerized forms. More specifically, the computing systemcan be more computationally efficient (e.g., in terms of processing,memory, graphical display, and/or rendering) relative to traditionalsystems because it utilizes particular machine learning models and/ormachine learning model input data. Furthermore, the computing systemprovides more accurate matching through a particular structure ofmachine learning models and machine learning approaches.

FIG. 1 depicts a diagram of an example system 100 using machine learningto predict mental state and to predict user matches (e.g., therapeuticmatches) based on the predicted mental state according to someembodiments.

In the example of FIG. 1, the system 100 includes a machinelearning-based state prediction and visualization system 102, a machinelearning-based predictive matching system 103, user systems 104-1 to104-N (individually, the user system 104, collectively, the user systems104), third-party systems 106-1 to 106-N (individually, the third-partysystem 106, collectively, the third-party systems 106), and acommunication network 108.

The machine learning-based state prediction and visualization system 102may function to predict one or more mental states of one or more uses(or set of users) based on machine learning. For example, users caninclude patient users (e.g., a medical patient, potential medicalpatient, mental health patient, potential mental health patient),provider users (e.g., medical provider, potential medical provider,mental health provider, potential mental health provider), and/or otherservice recipient users and service provider users. Although patientusers and provider users are primarily discussed herein, it will beappreciated that the systems and methods described herein can also beapplied to other types of users.

In some embodiments, the machine learning-based state prediction andvisualization system 102 may function to select, arrange, manage,visualize, and/or otherwise manipulate and/or facilitate presentation ofgraphical elements (e.g., emojis), and/or other types of emotionalindicators, based on the machine learning-predicted mental state of theuser. In various embodiments, functionality of the machinelearning-based state prediction and visualization system 102 may beperformed by one or more servers (e.g., a cloud-based server) and/orother computing devices. The machine learning-based state prediction andvisualization system 102 may be implemented by a cloud-computingplatform.

In some embodiments, graphical elements can be a type of emotionalindicator, and the systems and methods described herein can operate on(e.g., select, arrange, manipulate, and/or the like), and otherwiseutilize, emotional indicators in the same manner as graphical elements.Thus, for example, the system 100 may use machine learning to predictmental state and to select, arrange and/or otherwise manipulateemotional indicators based on the predicted mental state. Emotionalindicators can include graphical elements (e.g., emojis), audio elements(e.g., voices), haptic elements, video elements, animation elements,and/or the like. Thus, in some embodiments, the systems and methodsdescribed herein can predict mental state as described in this paper inorder to select, arrange, manage, manipulate, visualize, facilitatepresentation, and/or perform any of the other functions describedherein, for any type of emotional indicator in the same or similarmanner as graphical elements.

In some embodiments, the machine learning-based state prediction andvisualization system 102 may function to scan and/or other obtainelectronic data from user systems (e.g., user systems 104, discussedbelow) and/or third-party systems (e.g., third-party systems 106,discussed below). For example, the machine learning-based stateprediction and visualization system may scan text messages, emailmessages, voice data, image data, and/or the like. The machinelearning-based state prediction and visualization system 102 may usesome or all of this electronic data to provide input to a machinelearning model that predicts a mental state of the user based on theinput.

In some embodiments, the machine learning-based state prediction andvisualization system may function to select, arrange, manage, visualize,and/or otherwise facilitate presentation of one or more graphicalelements (e.g., emojis), and/or other types of emotional indicators,through a graphical user interface based on one or more predicted mentalstates. For example, the machine learning-based state prediction andvisualization system may facilitate a mobile application executing on auser system to present a set of emojis associated with the predictedmental state, rather than merely presenting a general list of emojis orthe most commonly used or most recently used emojis.

The machine learning-based predictive matching system 103 may functionto predict matches and/or alliances between users (e.g., patient usersand provider users) based on one or more predicted mental states of oneor more users (e.g., a patient user, provider users) using machinelearning. In some embodiments, the machine learning-based predictivematching system 103 predicts a therapeutic match or a therapeuticalliance between one or more users (e.g., a patient user) and one ormore provider users from a set of different provider users. As usedherein, an alliance can be a cooperative working relationship betweenusers (e.g., between a patient user and a provider user). It will beappreciated that reference to a “match” herein can include and/orconsist of an alliance.

The user systems 104 may function to receive, transmit, and/or present(e.g., display) information. For the example, the user systems 104 maygenerate and/or present graphical user interfaces that a user mayinteract with. In various embodiments, functionality of the user systems104 may be performed by one or more devices (e.g., smartphones, laptopcomputers, desktop computers, tablets, servers) and/or other computingdevices. In some embodiments, the user systems 104 may be user systemsof patient users (e.g., mental health patient and/or other medicalpatient) and/or provider users (e.g., therapists and/or other medicalprovider).

In some embodiments, the user systems 104 may function to receive,transmit, obtain, and/or present electronic data of a user and/orassociated with a user. For example, electronic data may include textsmessages (e.g., SMS messages, iMessages, and/or the like), emailmessages, social media data (e.g., data from a user's social mediaaccount), voice data (e.g., audio recording a user speaking, a voicemailmessages, a phone or video call, and/or the like), image data (e.g., apicture of user, a video of a user), haptic data (e.g., pressure fromuser's hand holding a device), physical location data (e.g., GPS data),physical orientation data (e.g., a physical orientation of device ofuser at the time other electronic data is captured or other time),and/or the like. In some embodiments, electronic data may includeencrypted data (e.g., data from an encrypted text message communication)and/or decrypted data.

The third-party systems 106 may function to receive, transmit, and/orpresent information. For example, the third-party systems 106 maycomprise social media systems (e.g., Facebook, Instagram, TikTok,LinkedIn, email systems, text messages systems, and/or the like). Insome embodiments, functionality of the third-party systems 106 may beperformed by one or more servers (e.g., cloud-based servers) and/orother computing devices.

The communications network 108 may represent one or more computernetworks (e.g., LAN, WAN, or the like) or other transmission mediums.The communication network 108 may provide communication between systems102-106 and/or other systems and/or components thereof (e.g., enginesand/or datastores of the systems 102-106) described herein. In someembodiments, the communication network 108 includes one or morecomputing devices, routers, cables, buses, and/or other networktopologies (e.g., mesh, and the like). In some embodiments, thecommunication network 108 may be wired and/or wireless. In variousembodiments, the communication network 108 may include the Internet, oneor more wide area networks (WANs) or local area networks (LANs), one ormore networks that may be public, private, IP-based, non-IP based, andso forth.

FIG. 2 depicts a diagram of an example machine learning-based stateprediction and visualization system 102 according to some embodiments.In the example of FIG. 2, the machine learning-based state predictionand visualization system 102 includes a management engine 202, a userprofile engine 204, a mood definition engine 206, an electronic datacollection engine 208, a machine learning input data 210, a machinelearning-based state prediction engine 212, a visualization engine 214,a feedback engine 216, a presentation engine 218, a communication engine220, and a machine learning-based state prediction and visualizationsystem datastore 240.

The management engine 202 may function to manage (e.g., create, read,update, delete, or otherwise access) user profiles 250, electronic data252, machine learning input data 254, machine learning model(s) 256,graphical elements 258, and/or mood values 260 (or, simply, “moods”).The management engine 202 can perform any of these operations manually(e.g., by a user interacting with a GUI) and/or automatically (e.g.,triggered by one or more of the engines 204-220). Like the other enginesdescribed herein, some or all the functionality of the management engine202 can be included in and/or cooperate with one or more other engines(e.g., engines 204-220) and datastores (e.g., machine learning-basedstate prediction and visualization system datastore 240).

The user profile engine 204 may function to register users (e.g., user“John Smith”), register associated user systems 104 (e.g., a mobiledevice of user John Smith), register user accounts (e.g., John Smith'saccounts of third-party systems 106), and/or generate user profiles 250.In one example, users can include patient users, provider users (e.g.,medical provider or other service provider). User profiles 250 mayinclude some or all of the following information:

-   -   User Profile Identifier: identifies the user profile.    -   User Identifier: identifies the user.    -   User Credentials: username, password, two-factor authentication,        and/or other credentials.    -   User Personal Information: identifies the user's name, contact        information (e.g., email address, phone number, mailing        address).    -   Registered (or, associated) User Systems: Identifies user        systems 104 associated with the user.    -   Registered (or, associated) Accounts and/or Third-Party Systems:        identifies user accounts (e.g., social media accounts), and        associated access information (e.g., APIs, user account names        and credentials, and/or the like).    -   Mood History: History of identified moods for the user and        associated time stamps.    -   Mental State History: history of mental states predicted by the        machine learning-based state prediction and visualization system        for the user, and associated timestamps.    -   Current Mental State: a current mental state of the user        predicted by the machine learning-based state prediction and        visualization system.    -   Historical User Selections: Historical selections of graphical        elements selected by the user.    -   Inventories of Preferences: inventories of preferences (e.g.,        C-CNIP, URICA) of the user. This can include the questions        and/or answers of the inventories of preferences, and/or        inventory scores (e.g., default inventory score and/or tunes        inventory score).    -   Goals (or, Criteria): Goals and/or criteria of the user. This        may be included in the inventories of preferences, and/or based        on the inventories of preferences. This may also be supplemental        of the inventories of preferences.    -   User Privacy Settings: identifies which electronic data 250, or        types of electronic data (e.g., text messages), may be used for        predicting mental state.    -   Electronic data: electronic data 252 obtained by the machine        learning-based state prediction and visualization system 102,        and/or references (e.g., pointers, links) to electronic data 252        obtained by the machine learning-based state prediction and        visualization system.

In various embodiments, the user profiles 250 may be used by some or allof the engines described herein to perform their functionality describedherein.

The mood definition engine 206 may function to define and/or generatemoods. Moods may be identified by mood values. For example, mood valuesmay be alphanumeric text describing a mood (e.g., “angry”), a numericvalue, and/or hash values (e.g., for faster indexing, access, and/or thelike). As used in this paper, moods are distinct from mental states. Forexample, moods may be discrete, while mental states may be contiguous,as discussed elsewhere in this paper. In some embodiments, the mooddefinition engine 206 defines moods as predetermined definitions thatare generally accepted and understood. For example, the mood definitionengine 206 may define an angry mood, a sad mood, a happy mood, and/orthe like. These moods are discrete and have a generally understooddefinition.

In some embodiments, the mood definition engine 206 defines a mood asone or more regions of a coordinate system and/or space (or, simply,coordinate system). As used in this paper, coordinate systems aremulti-dimensional (e.g., two-dimensional, three-dimensional,four-dimensional, and/or the like). In some embodiments, the boundariesof the regions may be manually defined and/or automatically defined bythe mood definition engine 206. For example, an administrator maymanually define the boundaries of the regions for some or all of thedifferent moods. In another example, the mood definition engine 206 mayautomatically define mood regions based on known and/or labeled data(e.g., electronic data 252, machine learning input data 254). Forexample, data may be labeled for individuals with known moods, and thoseknown moods may be plotted in the coordinate system. The plotted pointsmay be used by the mood definition engine 206 to construct theboundaries of the mood regions. FIGS. 5A and 5B show example coordinatesystems and example mood regions associated with different moods.

The electronic data collection engine 208 may function to collect,gather, and/or otherwise obtain electronic data 252 (e.g., from usersystems 104 and/or third-party systems 106). For example, electronicdata 252 may include texts messages (e.g., SMS messages, iMessages,and/or the like), email messages, social media data (e.g., data from auser's social media account), voice data (e.g., audio recording of auser speaking, voicemail messages, a phone or video call, and/or thelike), image data (e.g., a picture of user, a video of a user), hapticdata (e.g., pressure from user's hand holding a device), physicallocation data (e.g., GPS data), physical orientation data (e.g., aphysical orientation of device of user at the time other electronic datais captured or other time), express statements by a user (e.g., anexpress indication of mood by a user in a text message or otherelectronic data 252), and/or the like. The electronic data 252 can bedata associated with different types of users (e.g., patient users,provider users) and/or associated devices.

In some embodiments, the electronic data collection engine 208 may scanassociated user systems 104 for local electronic data 252 (e.g., textmessages that are local to a user system 104, email messages that arelocal to a user system 104), remote electronic data 252 (e.g.,cloud-stored text messages, cloud-stored email messages, social mediadata) to obtain the electronic data 252. The electronic data collectionengine 208 may use information from an associated user profile 252(e.g., user credentials) and/or APIs to obtain the electronic data 252.For example, the electronic data collection engine 208 may use APIs toobtain electronic data 252 from Facebook, email servers, text messageservers, and/or the like, in addition to obtaining data stored locallyon user systems 104. In some embodiments, the electronic data 252obtained by the electronic data collection engine 208 for various usersmay be limited and/or otherwise controlled by associated user profiles250. For example, a user may specify in the privacy settings of theiruser profile 250 that only local data may be used, only data to or fromcertain recipients may be used, only data from a certain time period maybe used, only specifically selected data or types of data (e.g., textmessages) may be used, and/or the like.

In some embodiments, the electronic data collection engine 208 mayobtain electronic data 252 in real-time and/or periodically. Forexample, the electronic data collection engine 208 may obtain electronicdata 252 as it is entered by a user (e.g., as a user inputs a textmessage into a user system 104). In another example, the electronic datacollection engine 208 may periodically obtain (e.g., once an hour, oncea day, and/or the like) electronic data 252. It will be appreciated thatobtaining the electronic data 252 may comprise obtaining the actualoriginal electronic data, a copy of the original electronic data, areference (e.g., pointer, link) to the original electronic data, areference to a copy of the original electronic data, and/or the like.Accordingly, it will be appreciated that references to electronic datamay be operated on by the machine learning-based state prediction andvisualization system 102 to achieve the same or similar results asoperating on the actual electronic data 252 itself.

In some embodiments, the electronic data collection engine 208 maycollect electronic data 252 directly from a user (e.g., an explicitindication of a mood). For example, the electronic data collectionengine 208 may prompt the user for their mood in response to a triggerevent. For example, trigger events may be based on identified keywordsof electronic data 252, time-based triggers, and/or the like. In anotherexample, a user may initiate providing an explicit indication of theirmood to the machine learning-based state prediction and visualizationsystem 102.

In some embodiments, a user system (e.g., user system 104) includes someor all of the functionality of the electronic data collection engine 208and/or functions to cooperate with the electronic data collection engine208 to perform some or all of the functionality thereof. For example, anapplication (e.g., mobile application) executing on a user system 104may itself, and/or in cooperation with the electronic data collectionengine 208, obtain electronic data 252. Similarly, in some embodiments,functionality of other engines and/or components of the machinelearning-based state prediction and visualization system 102 can beperformed by one or more other systems (e.g., user systems 104) and/orin cooperation with those one or more other systems. In someembodiments, the machine learning-based state prediction andvisualization system 102 comprises a server system and the user systems104 comprise client systems of the machine learning-based stateprediction and visualization system 104. In some embodiments, some orall of the functionality of the machine learning-based state predictionand visualization system 104 can be implemented as part of a user system(e.g., as a mobile application executing the user system 104).

The machine learning input data engine 210 may function to generateinput data 254 for one or machine learning models 256. The machinelearning input data engine 210 may generate the machine learning inputdata 254 based on some or all of the electronic data 252. For example,the machine learning input data engine 210 may generate machine learninginput data 254 based on some or all of the electronic data 252associated with a particular user (e.g., user John Smith). In someembodiments, the machine learning input data engine 210 may normalizethe electronic data 252 to a normalized data format, and the normalizeddata format may comprise the data format of the machine learning inputdata 254. This may allow, for example, the machine learning-based stateprediction and visualization system 102 to obtain data from a variety ofdifferent sources regardless of their original format and allow themachine learning-based state prediction and visualization system 102 tooperate on the data regardless of the original format.

In some embodiments, the machine learning input data engine 210 selectsa subset of electronic data 252 associated with a particular user. Forexample, the machine learning input data engine 210 may select thesubset of electronic data 252 based on privacy setting of an associateduser profile 250. In another example, the machine learning input data210 may select representative electronic data 252 in order to reduce anamount of data provided to the machine learning model 256, and/orprevent or reduce the likelihood of providing stale data to the machinelearning model 256. For example, the machine learning input data engine210 may perform the selection based on user history. Accordingly, themachine learning input data engine 210 may select only electronic data252 within the past month for one user (e.g., because there is arelatively large amount of data for that user), while the machinelearning input data engine 210 may select data within the past year foranother user (e.g., because there is a relatively little amount of datafor that user).

In some embodiments, the machine learning input data engine 210 mayselect a subset of electronic data 252 based on one or more rules. Forexample, rules may define time periods of data to be used (e.g., withinthe last month), type of data to be used (e.g., only text messages),and/or the like. Different rules may be manually and/or automaticallydefined for different users. For example, based on the feedback receivedfrom particular users (as discussed elsewhere herein), the machinelearning input data engine 210 may determine that particular types areelectronic data 252 (e.g., email messages) are not effective inpredicting mental state for a particular user, while feedback receivedfrom other users may indicate that those types of electronic data 252are effective in predicting mental state for other users. Accordingly,the machine learning input data engine 210 may filter out ineffectivetypes of electronic data 252 for some users, while not filtering thosetypes of electronic data 252 for other users.

In some embodiments, the machine learning input data engine 210 mayidentify, define, determine, and/or analyze (collectively, analyze)features of electronic data 252 to predict mental state. For example,the machine learning-based state prediction engine 212 may analyzefeatures of voice data of electronic data 252 to predict mental state.Voice data may include recordings of phone or video calls, voicemailmessages, ambient voice data (e.g., of the user speaking in the vicinityof a user system 104 that may capture the voice data), and/or the like.The machine learning input data engine 210 may analyze features of thevoices in the voice data (e.g., voice of the user and/or others) toidentify stress, tension, moods, and/or the like. For example, themachine learning input data engine 210 may include digital signalprocessing elements in order to facilitate analysis of voice data and/orother electronic data 252. This analysis and/or features may be used bythe machine learning model 256 to facilitate prediction of a user'smental state.

In another example, the machine learning input data engine 210 mayanalyze image data (e.g., pictures or video of a user or otherindividuals, such as individuals the user is communicating with) topredict mental state. In some embodiments, the machine learning inputdata engine 210 may use digital signal processing and/or facialrecognition to scan images for features indicating stress, tension,moods, and/or the like. This analysis and/or features may be used by themachine learning model 256 to facilitate prediction of a user's mentalstate.

In another example, the machine learning input data engine 210 mayinclude optical character recognition, regular expressions, and/ornatural language processing elements to facilitate mental stateprediction. For example, optical character recognition, regularexpressions, and/or natural language processing elements may be used toanalyze features of a text messages, email messages, social media data,and/or the like, to facilitate prediction of mental state.

The machine learning-based state prediction engine 212 may function topredict mental states of users. In some embodiments, the machinelearning-based state prediction engine 212 predicts mental state usingone more machine learning models 256 and machine learning input data254. For example, the machine learning models 256 may include Bayesianmodels, neural networks models, deep learning models, supervisedlearning models, unsupervised learning models, random forest models,and/or the like.

In one example, the system can have a distribution of moods withmagnitudes and uncertainties at one point in time. In some embodiments,the mental states can be temporal representations of such distributionsat several different points in time. Accordingly, such mental states canefficiently capture both the time scope of complex behaviors as well asany relevant uncertainties.

In some embodiments, a mental state may be defined as a set of moodvalues, a set of uncertainty values, and a set of a magnitude values.Each mood value of the set of mood values may be associated with acorresponding uncertainty value of the set of uncertainty values and acorresponding magnitude value of the set of magnitude values. Themagnitude value may indicate a relative strength and/or weakness of theassociated mood value. In some embodiments, a predicted mental state ofthe user (e.g., at a particular point of time and/or a particular periodof time) may be stored in a user profile 250 and/or the datastore 240 asmental states 262. The aforementioned definition of a mental state isone example of a mental state, and may be referred to as one example ofa triplet. The triplet may be stored in a data object, and/or as tabledata. In some embodiments, triplets may be stored in a dynamic dataobject. For example, the dynamic data object may automatically resizedepending on the amount of triplet data being stored. This may allow,for example, the machine learning-based state prediction andvisualization system to function more efficiently.

In some embodiments, the mental state is defined as a mapping of thetriplet to a coordinate system. For example, each mood of the tripletmay be plotted in various mood regions of the coordinate system, and thedistribution of those plots over time may be the predicted mental stateof a user. Each mood may be associated with a particular point in time(e.g., as captured by a timestamp). Accordingly, a mental state may beconsidered to be contiguous, while a mood may be considered to bediscrete. Furthermore, while moods are typically predefined, mentalstates typically are not predefined. For example, while the machinelearning-based state prediction engine 212 may recognize and/or definegeneral categories of mental state (e.g., depressed, bipolar, and/or thelike), the predicted mental states themselves may be unique.Accordingly, two different users may have different mental states (e.g.,as indicated by their respective mappings) but fall within the samecategory of mental state (e.g., depressed). This may be significantbecause the selection and arrangement of graphical elements, asdiscussed elsewhere herein, may be based on the predicted mental stateof the user, and not necessarily upon an associated category of mentalstate. Accordingly, two users that may be predicted to fall into adepressed category, may nonetheless be presented with a differentselection and/or arrangement of graphical elements. In otherembodiments, graphical elements may be presented based on a category ofmental state instead of, or in addition to, the predicted mental state.

In some embodiments, the uncertainty value represents a predictedaccuracy value of the associated mood value. For example, an uncertaintyvalue may be a numerical value (e.g., between 0-10), a percentage value,and/or the like. The uncertainty value may range from no uncertainty(e.g., because the user expressly indicated that they are angry) tohighly uncertain (e.g., there was a relatively small amount ofelectronic data 252 or machine learning input data 254). In someembodiments, the uncertainty value may be referred to as a variance, andit may be represented as a radius (or, radii) originating from thecorresponding plotted point associated with the mood. The uncertaintyvalue may be represented as a feature of the mapped radius. For example,a shorter length radius may indicate a lower uncertainty value, and alonger length radius may indicate a higher uncertainty value.

In some embodiments, the machine learning-based state prediction engine212 may predict uncertainty values based on the machine learning inputdata 254. If there is a relatively large amount of machine learninginput data 254 to be provided to the machine learning model 256 topredict the user's mental state, the uncertainty values may berelatively low. Conversely, if there is a relatively small amount ofmachine learning input data 254 to be provided to the machine learningmodel 256 to predict the user's mental state, the uncertainty values maybe relatively high. Similarly, if the machine learning model 256 has arelatively large amount of labeled data similar to machine learninginput data 254, then uncertainty values may be relatively low, while ifthe machine learning model 256 has a relatively small amount of labeleddata similar to the machine learning input data 254, then theuncertainty values may be relatively high.

In some embodiments, plotted points that indicate a user's mood (e.g.,for the purpose of predicting the user's mental state) may be referredto as “user points” of the coordinate system. The coordinate system mayalso include other plotted points, as well. For example, the coordinatesystem may include plotted points of moods of other individuals (e.g.,based on labeled data). The distance between a user point and anotherplotted point may be used to predict and/or adjust the uncertaintyvalue. For example, a user point near another plotted point may beassumed to be more accurate, and may result in a lower uncertaintyvalue, while a user point relatively far away from another plotted pointmay be assumed to be less accurate and may result in a higheruncertainty value.

In some embodiments, the radius representing the uncertainty value mayextend from a point in a particular mood region (e.g., an angry region)into one or more other mood regions (e.g., a sad region). In suchinstances, this may allow the machine learning-based state predictionengine 212 to base the mental state prediction not only on the plottedmood region (e.g., angry mood region), but also on the one or more othermood regions as well (e.g., the sad mood region).

In some embodiments, the magnitude value may be a numerical value (e.g.,between 0-10), a percentage value, and/or the like. As indicatedelsewhere herein, the magnitude value may indicate a relative strengthand/or weakness of an associated mood. For example, a mental state mayinclude an angry mood value with relatively high magnitude (e.g., 8 on ascale of 0-10), and a relatively low uncertainty value (e.g., 2 on ascale of 0-10). Accordingly, anger may be relatively larger impact onthe overall predicted mental state relative to other moods of the userthat have lower magnitudes and/or higher uncertainty values.

In some embodiments, a mental state may include a second uncertaintyvalue representing a predicted accuracy of an associated magnitudevalue. This second uncertainty value may be mapped to a coordinatesystem as a second radius (or radii) originating from the plotted userpoint.

In some embodiments, the machine learning-based state prediction engine212 may output one or more vector values (e.g., output from a machinelearning model 256) corresponding to a triplet. The machinelearning-based state prediction engine 212 may map a triplet to acoordinate system. In some embodiments, the mapping of a triplet to acoordinate system is a mental state. In other embodiments, the tripletitself is a mental state.

In some embodiments, the machine learning-based state prediction engine212 may predict mental state based on physical orientation of a usersystem 104. The physical orientation may include angle, tilt, and/or thelike, relative to the user and/or another feature (e.g., another personin which a user is communicating, or the ground surface). For example,if the physical orientation indicates that a top portion of a usersystem 104 is points towards the ground, the machine learning-basedstate prediction engine 212 may use that as an indicator of one or moreparticular moods (e.g., a sad mood), while a physical orientation of atop portion of the user system 104 pointing away from the ground may beused as an indicate of one or more other moods (e.g., a happy mood).

The visualization engine 214 may function to select, arrange, and/orotherwise organize (collectively, organize) graphical elements (e.g.,emojis) based on predicted mental state. For example, graphical elementsmay be static, animated, include audio elements, video elements, hapticelements, and/or the like. In some embodiments, the visualization engine214 may organize a subset of graphical elements from a set of graphicalelements based on a mental state of a user in order to present anintelligently and computationally efficient organization of graphicalelements through a graphical user interface (e.g., a text messageinterface of a text messaging application executing on a user system104). More specifically, the visualization engine 214 may organizegraphical elements based on a triplet and/or a mapping of a triplet on acoordinate system.

As discussed elsewhere herein, mental states typically are notpredefined. For example, while the machine learning-based stateprediction engine 212 may recognize and/or define general categories ofmental state (e.g., depressed, bipolar, and/or the like), the predictedmental states themselves may be unique. Accordingly, two different usersmay have different mental states (e.g., as indicated by their respectivemappings) but fall within the same category of mental state (e.g.,depressed). The visualization engine 214 may organize the subset ofgraphical elements based on the predicted mental state of the user, andnot necessarily upon associated category of mental state. Thus, twodifferent users that may be predicted to fall into a “depressed” mentalcategory, may nonetheless be presented with a different organization ofgraphical elements.

In some embodiments, the visualization engine 214 may use an additionallayer of machine learning to organize graphical elements. For example, afirst layer of machine learning may be used by the machinelearning-based state prediction engine 212 to predict mental state,while a second layer of machine (e.g., using different and/or the samemachine learning model 256 as the machine learning-based stateprediction engine 212) may be used to organize graphical elements basedon the predicted mental state. For example, a predicted mental state 260may be provided as input to a second machine learning model 256, and theoutput may comprise a vector value that may be used to organize a subsetof graphical elements. In some embodiments, the second model may bebased on labeled data associating particular graphical elements withparticular predicted mental states that have been verified (e.g.,manually prior to model deployment and/or by the feedback engine 216,discussed below).

The feedback engine 216 may function to train, refine, and/or otherwiseimprove the machine learning and/or machine learning models 256described herein. In some embodiments, the feedback engine 216 receivesuser selections of graphical elements presented to a user based on theuser's predicted mental state. For example, a user selection from asubset of graphical elements presented to the user based on theirpredicted mental state may indicate that the machine learning model isperforming accurately. In another example, a user selection of agraphical element that was not included in the subset of graphicalelements presented to the user based on their predicted mental state mayindicate that the machine learning model needs improvement and/orcorrection (e.g., due to concept drift). The feedback engine 216 mayutilize the user selections to adjust parameters of the machine learningmodel 256, and/or otherwise train, retrain, refine, and/or improve thecorresponding machine learning and/or machine learning models 256.

The presentation engine 218 may function to present visual, audio,and/or haptic information. In some embodiments, the presentation engine218 generates graphical user interfaces, and/or components thereof(e.g., server-side graphical user interface components) that can berendered as complete graphical user interfaces on remote systems (e.g.,user systems 104).

The communication engine 220 may function to send requests, transmit andreceive communications, and/or otherwise provide communication with oneor more of the systems, engines, devices and/or datastores describedherein. In a specific implementation, the communication engine 220 mayfunction to encrypt and decrypt communications. The communication engine220 may function to send requests to and receive data from one or moresystems through a network or a portion of a network (e.g., communicationnetwork 108). In a specific implementation, the communication engine 220may send requests and receive data through a connection, all or aportion of which can be a wireless connection. The communication engine220 may request and receive messages, and/or other communications fromassociated systems and/or engines. Communications may be stored in themachine learning-based state prediction and visualization systemdatastore 240.

FIG. 3 depicts a flowchart of an example of a method 300 of predictingmental state of a user using machine learning and selecting andarranging graphical elements based on the user's predicted mental stateaccording to some embodiments. In this and other flowcharts and/orsequence diagrams, the flowchart illustrates by way of example asequence of steps. It should be understood that some or all of the stepsmay be repeated, reorganized for parallel execution, and/or reordered,as applicable. Moreover, some steps that could have been included mayhave been removed to avoid providing too much information for the sakeof clarity and some steps that were included could be removed, but mayhave been included for the sake of illustrative clarity.

In step 302, a machine learning-based state prediction and visualizationsystem (e.g., machine learning-based state prediction and visualizationsystem 102) obtains electronic data (e.g., electronic data 252) of auser (e.g., user system 104 and/or a user of a user system 104). In someembodiments, a communication engine (e.g., communication engine 220)and/or an electronic data collection engine (e.g., electronic datacollection engine 208) obtains the electronic data over a communicationnetwork (e.g., communication network 108) from one or more user systems(e.g., user systems 104) and/or one or more third-party systems (e.g.,third-party systems 106). A management engine (e.g., management engine202) may store the electronic data in a datastore (e.g., machinelearning-based state prediction and visualization system datastore 240).

In step 304, the machine learning-based state prediction andvisualization system determines input data (e.g., machine learning inputdata 254) for at least one machine learning model (e.g., at least onemachine learning model 256) based on the electronic data of the user. Insome embodiments, a machine learning input data engine (e.g., machinelearning input data engine 210) determines the input data.

In step 306, the machine learning-based state prediction andvisualization system predicts, based on the input data and the at leastone machine learning model (e.g., the input data may be provided asinput to the machine learning model), a mental state of the user. Themental state may comprise a set of mood values (e.g., mood values 260),a set of uncertainty values, and a set of a magnitude values. Each moodvalue of the set of mood values may be associated with a correspondinguncertainty value of the set of uncertainty values and a correspondingmagnitude value of the set of magnitude values. The magnitude value mayindicate a relative strength and/or weakness of the associated moodvalue. In some embodiments, a machine learning-based state predictionengine (e.g., machine learning-based state prediction engine 212)performs the prediction. In some embodiments, the predicted mental stateof the user (e.g., at a particular point of time and/or a particularperiod of time) may be stored by the management engine in a user profile(e.g., a user profile 250) and/or the datastore.

In step 308, the machine learning-based state prediction andvisualization system selects and/or arranges, based on the predictedmental state of the user, a subset of graphical elements (e.g.,graphical elements 258) from a set of graphical elements. For example,the graphical elements may be emojis. Each graphical element of the setof graphical elements may be associated (e.g., linked) with acorresponding mood value of the set of mood values. Each graphicalelement of the subset of graphical elements may be associated with thepredicted mental state of the user. In some embodiments, a visualizationengine (e.g., visualization engine 214) selects and/or arranges thegraphical elements based on the mental state of the user (e.g., at oneor more points of time and/or one or more periods of time).

In step 310, the machine learning-based state prediction andvisualization system facilitates presentation (e.g., display), via agraphical user interface (GUI), of the subset of graphical elementsaccording to the selection and arrangement of the subset of graphicalelements. For example, the machine learning-based state prediction andvisualization system may cause an associated device (e.g., a user system104 of the user) to display the subset of graphical elements accordingto the selection and arrangement of the subset of graphical elements. Insome embodiments, a presentation engine (e.g., presentation engine 218)and/or the visualization engine facilitates the presentation of theselection and arrangement of the graphical elements.

In step 312, the machine learning-based state prediction andvisualization system receives, in response to the user interacting withthe GUI presenting the subset of graphical elements according to theselection and arrangement of the subset of graphical elements, a userselection of a particular graphical element of the subset of graphicalelements. For example, a user may select a particular graphical elementdisplayed on their user system, and the selection may be communicatedfrom the user system over the communication network to the communicationengine, and the communication engine may then route the receivedselection to the presentation engine and/or the visualization engine. Insome embodiments, the received selection may be used by a feedbackengine (e.g., for example, 216) to refine, train, and/or otherwiseimprove the machine learning model and/or the machine learning-basedstate prediction engine.

In step 314, the machine learning-based state prediction andvisualization system facilitates presentation (e.g., display), via theGUI in response to the user selection, of the user selection of theparticular graphical element of the subset of graphical elements. Insome embodiments, the presentation engine and/or visualization enginefacilitates the presentation of the user selected graphical element.

In step 316, the machine learning-based state prediction andvisualization system refines the at least one machine learning modelbased on the received user selection. In some embodiments, a feedbackengine (e.g., feedback engine 216) refines the at least one machinelearning model.

In some embodiments, step 312, like any of the other steps, may beoptional. For example, step 314 may facilitate presentation of theparticular graphical element in response to a user selection received atthe user system (e.g., without the machine learning-based stateprediction and visualization system receiving the user selection).

FIG. 4 depicts a flowchart of an example of a method 400 of mental stateprediction according to some embodiments. In this and other flowchartsand/or sequence diagrams, the flowchart illustrates by way of example asequence of steps. It should be understood that some or all of the stepsmay be repeated, reorganized for parallel execution, and/or reordered,as applicable. Moreover, some steps that could have been included mayhave been removed to avoid providing too much information for the sakeof clarity and some steps that were included could be removed, but mayhave been included for the sake of illustrative clarity.

In step 402, a machine learning-based state prediction and visualizationsystem (e.g., machine learning-based state prediction and visualizationsystem 102) maps a set of mood values (e.g., mood values 260), the setof uncertainty values, and the set of magnitude values to a coordinatesystem. The coordinate system may comprise a plurality of different moodregions. Each of the set of mood values may be mapped to the coordinatesystem as a corresponding user point in the coordinate system. Each ofthe corresponding uncertainty values may be mapped as a correspondingradius originating at the corresponding point in the coordinate system.In some embodiments, a machine learning-based state prediction engine(e.g., machine learning-based state prediction engine 212) and/orvisualization engine 214 performs the mapping. In some embodiments, amental state is defined by the mapping of step 402 (and/or othermappings described herein) and/or vice versa. Accordingly, in someinstances, a user may have a unique mental state (e.g., different fromany other user or previously known or defined mental state).

In step 404, the machine learning-based state prediction andvisualization system identifies at least a first mood region of theplurality of different mood regions that includes at least onecorresponding user mapped therein. In some embodiments, the machinelearning-based state prediction engine and/or visualization engineperforms the identification.

In step 406, the machine learning-based state prediction andvisualization system identifies at least a second mood region of theplurality of different mood regions that does not include anycorresponding user points mapped therein, and also includes at least aportion of a first radius of the corresponding radii mapped in thecoordinate system. In some embodiments, the machine learning-based stateprediction engine and/or visualization engine performs theidentification.

In some embodiments, the mental state of the user is predicted based onthe mood regions identified in steps 404 and 406, as well as themagnitude values associated with the at least one corresponding userpoint mapped in the at least a first mood region of the plurality ofdifferent moods regions and the first radius of the corresponding radiimapped in the coordinate system.

FIG. 5A depicts an example two-dimensional coordinate system 500representing an example mental state according to some embodiments. Thetwo-dimensional coordinate system 500 may be generated by the machinelearning-based state prediction and visualization system 102. In someembodiments, the two-dimensional coordinate system 500 may berepresented by one or more graphical user interfaces (e.g., generated bythe machine learning-based state prediction and visualization system 102and/or user systems 104).

As shown, the two-dimensional coordinate system 500 includes two-axes(e.g., the x-axis and the y-axis). The plotted points (e.g., firstplotted point 510, second plotted point 520, and third plotted point530) may represent respective moods at different times for anindividual. For example, one individual may be associated with multiplepoints (e.g., first plotted point 512 and second plotted point 522) thateach represent a particular mood at a particular point in time. Themental state may comprise the set of those plotted points. The pointsmay be plotted in various mood regions of the two-dimensional coordinatesystem 500. For example, the mood regions may include a first moodregion 502 (e.g., a happy mood region), a second mood region 504 (e.g.,a sad mood region), a third mood region 506 (e.g., an angry moodregion), and a fourth mood region 508. Each point may be associated witha magnitude value (e.g., 1.3 on a scale of 0.0 to 10.0, with 10.0 beingthe highest value indicating the strongest mood) and a radius indicatingan uncertainty value associated with the plotted point. For example, alonger radius may indicate a higher uncertainty in the predicted moodand/or plotted point, and a short radius may indicate a loweruncertainty. In some examples, a plotted point may effectively overlapmultiple mood regions based on the associated uncertainty value. Forexample, the second plotted point 520 has a magnitude value 522 of 9.5,and a radius 524 that extends into the second mood region.

FIG. 5B depicts an example three-dimensional coordinate system 550representing an example mental state according to some embodiments. Thethree-dimensional coordinate system 550 may be generated by the machinelearning-based state prediction and visualization system 102. In someembodiments, the three-dimensional coordinate system 550 may berepresented by one or more graphical user interfaces (e.g., generated bythe machine learning-based state prediction and visualization system 102and/or user systems 104).

As shown, the three-dimensional coordinate system 550 includesthree-axes (e.g., the x-axis, the y-axis, and the z-axis). The plottedpoints (e.g., first plotted point 560, second plotted point 570, andthird plotted point 580) may represent respective moods at differenttimes for an individual. For example, one individual may be associatedwith multiple points (e.g., first plotted point 562 and second plottedpoint 572) that each represent a particular mood at a particular pointin time. The mental state may comprise the set of those plotted pointsassociated with that individual. The points may be plotted in variousmood regions of the three-dimensional coordinate system 550. Forexample, the mood regions may include a first mood region 552 (e.g., ahappy mood region), a second mood region 554 (e.g., a sad mood region),a third mood region 556 (e.g., an angry mood region), and a fourth moodregion 558. Each point may be associated with a magnitude value (e.g.,1.3 on a scale of 0.0 to 10.0, with 10.0 being the highest valueindicating the strongest mood) and a radius indicating an uncertaintyvalue associated with the plotted point. For example, a longer radiusmay indicate a higher uncertainty in the predicted mood and/or plottedpoint, and a short radius may indicate a lower uncertainty. In someexamples, a plotted point may effectively overlap multiple mood regionsbased on the associated uncertainty value. For example, the secondplotted point 570 has a magnitude value 572 of 9.5, and a radius 574that extends into the second mood region.

It will be appreciated that the elements of the three-dimensionalcoordinate system 550 are represented with two-dimensional drawings forillustrative purposes. It will be appreciated that in some embodiments,each of the elements of FIG. 5B (e.g., mood regions, plotted points,radii, and/or the like) may be represented in three-dimensions insteadof, or in addition to, two-dimensions.

FIG. 6 depicts a flowchart of an example of a method 600 of collectingelectronic data of a user according to some embodiments. In this andother flowcharts and/or sequence diagrams, the flowchart illustrates byway of example a sequence of steps. It should be understood that some orall of the steps may be repeated, reorganized for parallel execution,and/or reordered, as applicable. Moreover, some steps that could havebeen included may have been removed to avoid providing too muchinformation for the sake of clarity and some steps that were includedcould be removed, but may have been included for the sake ofillustrative clarity.

In step 602, a machine learning-based state prediction and visualizationsystem (e.g., machine learning-based state prediction and visualizationsystem 102) scans one or more user systems (e.g., one or more usersystems 104) of a user for electronic data (e.g., electronic data 252).In some embodiments, an electronic data collection engine (e.g.,electronic data collection engine 208) performs the scan.

In step 604, the machine learning-based state prediction andvisualization system scans one or more third-party systems (e.g.,third-party systems 106) for electronic data associated with the user.For example, the machine learning-based state prediction andvisualization system may scan social media accounts of the user forelectronic data associated with the user. In some embodiments, theelectronic data collection engine performs the scan.

In step 606, the machine learning-based state prediction andvisualization system verifies whether the electronic data identified bythe scans of step 602 and/or 604 may be used for mental state predictionof the user, and if so, verifies which electronic data may be used(e.g., certain data or all data). For example, the machinelearning-based state prediction and visualization system may prompt theuser for verification. In another example, the machine learning-basedstate prediction and visualization system may check the user'sassociated user profile (e.g., user profile 250) to determineverification. Verification may be performed before, during, or after ascan. In some embodiments, electronic data collection engine performsthe verification(s).

In step 608, the machine learning-based state prediction andvisualization system obtains an explicit indication of a mood from auser. For example, the machine learning-based state prediction andvisualization system may prompt the user for their mood in response to atrigger event. In another example, a user may initiate providing anexplicit indication of their mood to the machine learning-based stateprediction and visualization system. In some embodiments, the electronicdata collection engine obtains the explicit indication of mood from theuser.

FIG. 7 depicts a flowchart of an example of a method 700 of predictingmental state of a user using machine learning and selecting andarranging graphical elements based on the user's predicted mental stateaccording to some embodiments. In this and other flowcharts and/orsequence diagrams, the flowchart illustrates by way of example asequence of steps. It should be understood that some or all of the stepsmay be repeated, reorganized for parallel execution, and/or reordered,as applicable. Moreover, some steps that could have been included mayhave been removed to avoid providing too much information for the sakeof clarity and some steps that were included could be removed, but mayhave been included for the sake of illustrative clarity.

In step 702, a machine learning-based state prediction and visualizationsystem (e.g., machine learning-based state prediction and visualizationsystem 102) obtains electronic data (e.g., electronic data 252) of auser (e.g., user system 104 and/or a user of a user system 104). In someembodiments, a communication engine (e.g., communication engine 220)and/or an electronic data collection engine (e.g., electronic datacollection engine 208) obtains the electronic data over a communicationnetwork (e.g., communication network 108) from one or more user systems(e.g., user systems 104) and/or one or more third-party systems (e.g.,third-party systems 106). A management engine (e.g., management engine202) may store the electronic data in a datastore (e.g., machinelearning-based state prediction and visualization system datastore 240).

In step 704, the machine learning-based state prediction andvisualization system determines input data (e.g., machine learning inputdata 254) for at least one machine learning model (e.g., at least onemachine learning model 256) based on the electronic data of the user. Insome embodiments, a machine learning input data engine (e.g., machinelearning input data engine 210) determines the input data.

In step 706, the machine learning-based state prediction andvisualization system predicts, based on the input data and the at leastone machine learning model, a mental state of the user. The mental statemay comprise a set of mood values (e.g., mood values 260), a set ofuncertainty values, and a set of a magnitude values. Each mood value ofthe set of mood values may be associated with a correspondinguncertainty value of the set of uncertainty values and a correspondingmagnitude value of the set of magnitude values. The magnitude value mayindicate a relative strength and/or weakness of the associated moodvalue. In some embodiments, a machine learning-based state predictionengine (e.g., machine learning-based state prediction engine 212)performs the prediction. In some embodiments, the predicted mental stateof the user (e.g., at a particular point of time and/or a particularperiod of time) may be stored by the management engine in a user profile(e.g., a user profile 250) and/or the datastore.

In step 708, the machine learning-based state prediction andvisualization system selects and/or arranges, based on the predictedmental state of the user, a subset of graphical elements (e.g.,graphical elements 258) from a set of graphical elements. For example,the graphical elements may be emojis. Although method 700 uses graphicalelements, it will be appreciated that the method 700 may also use othertypes of elements (e.g., other types of emotional indicators) insteadof, or in addition to, graphical elements. Each graphical element of theset of graphical elements may be associated (e.g., linked) with acorresponding mood value of the set of mood values. Each graphicalelement of the subset of graphical elements may be associated with thepredicted mental state of the user. In some embodiments, a visualizationengine (e.g., visualization engine 214) selects and/or arranges thegraphical elements based on the mental state of the user (e.g., at oneor more points of time and/or one or more periods of time).

In step 710, the machine learning-based state prediction andvisualization system presents (e.g., displays), via a graphical userinterface (GUI), the subset of graphical elements according to theselection and arrangement of the subset of graphical elements. Forexample, the machine learning-based state prediction and visualizationsystem may cause an associated device (e.g., a user system 104 of theuser) to display the subset of graphical elements according to theselection and arrangement of the subset of graphical elements. In someembodiments, a presentation engine (e.g., presentation engine 218)and/or the visualization engine facilitates the presentation of theselection and arrangement of the graphical elements.

In step 712, the machine learning-based state prediction andvisualization system receives, in response to the user interacting withthe GUI presenting the subset of graphical elements according to theselection and arrangement of the subset of graphical elements, a userselection of a particular graphical element of the subset of graphicalelements. For example, a user may select a particular graphical elementdisplayed on their user system, and the selection may be communicatedfrom the user system over the communication network to the communicationengine, and the communication engine may then route the receivedselection to the presentation engine and/or the visualization engine. Insome embodiments, the received selection may be used by a feedbackengine (e.g., for example, 216) to refine, train, and/or otherwiseimprove the machine learning model and/or the machine learning-basedstate prediction engine.

In step 714, the machine learning-based state prediction andvisualization system presents (e.g., displays), via the GUI in responseto the user selection, the user selected graphical element of theparticular graphical element of the subset of graphical elements. Insome embodiments, the presentation engine and/or visualization enginefacilitates the presentation of the user selected graphical element.

In step 716, the machine learning-based state prediction andvisualization system refines the at least one machine learning modelbased on the received user selection. In some embodiments, a feedbackengine (e.g., feedback engine 216) refines the at least one machinelearning model.

In some embodiments, step 712, like any of the other steps, may beoptional. For example, step 714 may present the particular graphicalelement in response to a user selection received at the user system(e.g., without the machine learning-based state prediction andvisualization system receiving the user selection).

FIG. 8 depicts an example graphical user interface (or, smart emojiinterface) 802 with graphical elements selected and arranged usingmachine learning-based state prediction according to some embodiments.In the example of FIG. 8, the graphical user interface 802 includes amessage display pane 804, a message input pane 806, a mental statepredicted emoji pane 808, and a frequently used emoji pane 810.

In some embodiments, the graphical user interface 802 is an example ofthe type of interface that may be generated, or at least partiallygenerated, by a machine learning-based state prediction andvisualization system 102. For example, the machine learning-based stateprediction and visualization system 102 may predict a mental state of auser associated with a user system 104 which presents the graphical userinterface 802. In this example, the user is predicted to have a mentalstate that is associated with an angry emoji and a sad emoji.Accordingly, the angry emoji and the sad emoji are presented in themental state predicted emoji pane 808. Notably, these are differentemojis than the frequently used emojis presented in the frequently usedemoji pane 810.

It will be appreciated that the graphical user interface 802 ispresented merely by way of example, and that other interfaces generated,or partially generated, by the machine learning-based state predictionand visualization system 102 may different. For example, otherinterfaces may have elements 804-810 arranged differently, some elementsmay be removed (e.g., the frequently used emoji pane 810), otherelements may be added (e.g., a scrollable list of all available emojis),some elements may be combined (e.g., panes 808 and 810), and/or thelike.

FIG. 9 depicts a flowchart of an example of a method 900 of predictingmental state of a user using machine learning and manipulating (e.g.,selecting and arranging) emotional indicators based on the user'spredicted mental state according to some embodiments. In this and otherflowcharts and/or sequence diagrams, the flowchart illustrates by way ofexample a sequence of steps. It should be understood that some or all ofthe steps may be repeated, reorganized for parallel execution, and/orreordered, as applicable. Moreover, some steps that could have beenincluded may have been removed to avoid providing too much informationfor the sake of clarity and some steps that were included could beremoved, but may have been included for the sake of illustrativeclarity.

In step 902, a machine learning-based state prediction and visualizationsystem (e.g., machine learning-based state prediction and visualizationsystem 102) obtains electronic data (e.g., electronic data 252) of auser (e.g., user system 104 and/or a user of a user system 104). In someembodiments, a communication engine (e.g., communication engine 220)and/or an electronic data collection engine (e.g., electronic datacollection engine 208) obtains the electronic data over a communicationnetwork (e.g., communication network 108) from one or more user systems(e.g., user systems 104) and/or one or more third-party systems (e.g.,third-party systems 106). A management engine (e.g., management engine202) may store the electronic data in a datastore (e.g., machinelearning-based state prediction and visualization system datastore 240).

In step 904, the machine learning-based state prediction andvisualization system determines input data (e.g., machine learning inputdata 254) for at least one machine learning model (e.g., at least onemachine learning model 256) based on the electronic data of the user. Insome embodiments, a machine learning input data engine (e.g., machinelearning input data engine 210) determines the input data.

In step 906, the machine learning-based state prediction andvisualization system predicts, based on the input data and the at leastone machine learning model, a mental state of the user. The mental statemay comprise a set of mood values (e.g., mood values 260), a set ofuncertainty values, and a set of a magnitude values. Each mood value ofthe set of mood values may be associated with a correspondinguncertainty value of the set of uncertainty values and a correspondingmagnitude value of the set of magnitude values. The magnitude value mayindicate a relative strength and/or weakness of the associated moodvalue. In some embodiments, a machine learning-based state predictionengine (e.g., machine learning-based state prediction engine 212)performs the prediction. In some embodiments, the predicted mental stateof the user (e.g., at a particular point of time and/or a particularperiod of time) may be stored by the management engine in a user profile(e.g., a user profile 250) and/or the datastore.

In step 908, the machine learning-based state prediction andvisualization system manipulates (e.g., selects and/or arranges), basedon the predicted mental state of the user, a subset of emotionalindicators (e.g., graphical elements 258) from a set of emotionalindicators. For example, the emotional indicators may be graphicalelements (e.g., emojis), audio elements, haptic elements, and/or thelike. Each emotional indicator of the set of emotional indicators may beassociated (e.g., linked) with a corresponding mood value of the set ofmood values. Each emotional indicator of the subset of emotionalindicators may be associated with the predicted mental state of theuser. In some embodiments, a visualization engine (e.g., visualizationengine 214) manipulates the emotional indicators based on the mentalstate of the user (e.g., at one or more points of time and/or one ormore periods of time).

In step 910, the machine learning-based state prediction andvisualization system facilitates presentation (e.g., display), via agraphical user interface (GUI), of the subset of emotional indicatorsaccording to the manipulation of the subset of emotional indicators. Forexample, the machine learning-based state prediction and visualizationsystem may cause an associated device (e.g., a user system 104 of theuser) to present (e.g., display) the subset of emotional indicatorsaccording to the manipulation of the subset of emotional indicators. Insome embodiments, a presentation engine (e.g., presentation engine 218)and/or the visualization engine facilitates the presentation of themanipulation of the emotional indicators.

In step 912, the machine learning-based state prediction andvisualization system receives, in response to the user interacting withthe GUI presenting the subset of emotional indicator according to themanipulation of the subset of emotional indicator, a user selection of aparticular emotional indicator of the subset of emotional indicator. Forexample, a user may select a particular emotional indicator presented ontheir user system, and the selection may be communicated from the usersystem over the communication network to the communication engine, andthe communication engine may then route the received selection to thepresentation engine and/or the visualization engine. In someembodiments, the received selection may be used by a feedback engine(e.g., for example, 216) to refine, train, and/or otherwise improve themachine learning model and/or the machine learning-based stateprediction engine.

In step 914, the machine learning-based state prediction andvisualization system facilitates presentation (e.g., display), inresponse to the user selection (e.g., via the GUI), of the userselection of the particular emotional indicator of the subset ofemotional indicators. In some embodiments, the presentation engineand/or visualization engine facilitates the presentation of the userselected emotional indicator.

In step 916, the machine learning-based state prediction andvisualization system refines the at least one machine learning modelbased on the received user selection. In some embodiments, a feedbackengine (e.g., feedback engine 216) refines the at least one machinelearning model.

In some embodiments, step 912, like any of the other steps, may beoptional. For example, step 914 may facilitate presentation of theparticular emotional indicator in response to a user selection receivedat the user system (e.g., without the machine learning-based stateprediction and visualization system receiving the user selection).

FIG. 10 depicts an example machine learning-based predictive matchingsystem 103 according to some embodiments. In the example of FIG. 10, themachine learning-based predictive matching system 103 includes amanagement engine 1002, a provider profile engine 1004, a machinelearning input data engine 1006, a machine learning-based predictivematching engine 1008, a feedback engine 1010, a presentation engine1012, a communication engine 1014, and a machine learning-basedpredictive matching system datastore 1020.

The management engine 1002 may function to manage (e.g., create, read,update, delete, or otherwise access) provider user profiles 1030,electronic data 252, machine learning input data 1032, machine learningmodel(s) 1034, mood values 260 (or, simply, “moods”), and/or mentalstates 262. The management engine 202 can perform any of theseoperations manually (e.g., by a user interacting with a GUI) and/orautomatically (e.g., triggered by one or more of the engines 1004-1014).Like the other engines described herein, some or all the functionalityof the management engine 1002 can be included in and/or cooperate withone or more other engines (e.g., engines 1004-1014) and datastores(e.g., machine learning-based predictive matching system datastore1020).

The provider profile engine 1004 may function to register provider users(e.g., medical provider or other service provider), register associateduser systems 104 (e.g., a mobile device of the provider user), registeruser accounts (e.g., the provider user's accounts of third-party systems106), and/or generate provider user profiles 1030. Provider userprofiles 1030 may include some or all of the following information:

-   -   Provider User Profile Identifier: identifies the provider user        profile.    -   Provider User Identifier: identifies the provider user.    -   Provider User Credentials: username, password, two-factor        authentication, and/or other credentials.    -   Provider User Personal Information: identifies the provider        user's name, contact information (e.g., email address, phone        number, mailing address).    -   Registered (or, associated) User Systems: Identifies user        systems 104 associated with the provider user.    -   Registered (or, associated) Accounts and/or Third-Party Systems:        identifies provider user accounts (e.g., social media accounts),        and associated access information (e.g., APIs, user account        names and credentials, and/or the like).    -   Mood History: History of identified moods for the user and        associated time stamps.    -   Mental State History: history of mental states predicted by the        machine learning-based state prediction and visualization system        for the user, and associated timestamps.    -   Current Mental State: a current mental state of the user        predicted by the machine learning-based state prediction and        visualization system.    -   User Privacy Settings: identifies which electronic data 250, or        types of electronic data (e.g., text messages), may be used for        predicting mental state.    -   Electronic data: electronic data 252 obtained by the machine        learning-based state prediction and visualization system 102,        and/or references (e.g., pointers, links) to electronic data 252        obtained by the machine learning-based state prediction and        visualization system.    -   Goals (or, Criteria): Goals and/or criteria of the provider.

In various embodiments, the provider user profiles 1030 may be used bysome or all of the engines described herein to perform theirfunctionality described herein.

The machine learning input data engine 1006 may function to generateinput data 1032 for one or machine learning models 1034 (e.g., machinelearning models of the machine learning-based predictive matching engine1008). The machine learning models 1034 may comprise machine learningmodels for predicting matches (e.g., therapeutic matches). The machinelearning input data engine 1006 may generate the machine learning inputdata 1032 based on some or all of the electronic data 252. For example,the machine learning input data engine 1006 may generate machinelearning input data 1032 based on some or all of the electronic data 252associated with a particular user (e.g., user John Smith). In someembodiments, the machine learning input data engine 1006 may normalizethe electronic data 252 to a normalized data format, and the normalizeddata format may comprise the data format of the machine learning inputdata 1032. This may allow, for example, the machine learning-basedpredictive matching system 103 to obtain data from a variety ofdifferent sources regardless of their original format and allow themachine learning-based predictive matching system 103 to operate on thedata regardless of the original format.

In some embodiments, the machine learning input data engine 1006generates the machine learning input data 1032 based on predicted mentalstates (e.g., predicted mental state of a patient user, predicted mentalstates of provider users), one or more inventories of preferences of auser (e.g., C-NIP, URICA) and/or inventory scores, one or more goals orcriteria of a user (e.g., a patient users), one or more goals of otherusers (e.g., provider users), and/or labeled session data associatedwith a plurality of successful therapeutic matches. In some embodiments,the machine learning input data engine 1006 may normalize some or all ofthe aforementioned data (e.g., inventory of preferences data) to anormalized data format, and the normalized data format may comprise thedata format of the machine learning input data 1032. This may allow, forexample, the machine learning-based predictive matching system 103 toobtain data from a variety of different sources regardless of theiroriginal format and allow the machine learning-based predictive matchingsystem 103 to operate on the data regardless of the original format.

The labeled session data may comprise data from previous therapysessions (e.g., early-stage therapy sessions) that have been labeled assuccessful and/or unsuccessful. For example, the session data may belabeled based on whether a patient user and/or a provider user indicatedthat the session(s) were successful. The session data may include dataof the patient user, provider user, associated inventories ofpreferences, associated goals and/or criteria, associated matchpredictions, associated mental state predictions, and/or otherassociated data described herein. Early-stage therapy sessions mayinclude therapy sessions between a first session and a firth session,for example.

The machine learning-based predictive matching engine 1008 may functionto predict matches between users (e.g., patient users and providerusers) based on one or more predicted mental states of one or more users(e.g., patient user and provider users) using one or more machinelearning models 1034. The machine learning models 1034 may includeBayesian machine learning models and/or other type of machine learningmodel described herein. In some embodiments, the machine learning-basedpredictive matching engine 1008 may predict a therapeutic match or atherapeutic alliance between a user (e.g., a patient user) and aprovider user from a set of different provider users.

In some embodiments, the machine learning-based predictive matchingengine 1008 predicts a match (e.g., therapeutic match) and/or analliance (e.g., therapeutic alliance) between one or more users (e.g., apatient user) and one or more other users (e.g., provider users) from aset of different users (e.g., set of different provider users). As usedherein, an alliance can be a cooperative working relationship betweenusers (e.g., between a patient user and a provider user) and/or anindication thereof. It will be appreciated that reference to a “match”herein can include and/or consist of one or more alliances. In someembodiments, an alliance comprises one or more alliance parameters. Thealliance parameters can include agreement (e.g., between users) of goals(e.g., treatment goals), agreement on tasks, and development of apersonal bond comprising reciprocal positive feelings. The machinelearning-based predictive matching engine 1008 may predict a match if analliance score (e.g., a score based on some or all of the allianceparameters) satisfies an alliance threshold. For example, the machinelearning-based predictive matching engine 1008 may predict a matchbetween users if an output of a machine learning model 1034 satisfiesthe alliance threshold (e.g., meets or exceeds the alliance threshold).In some embodiments, the machine learning-based predictive matchingengine 1008 can predict unsuccessful matches as well as successfulmatches. For example, an unsuccessful match may comprise an alliancescore that does not satisfy the alliance threshold (e.g., the output ofthe machine learning model 1034 is below the alliance threshold score).

In some embodiments, a match prediction (or alliance prediction) isbased on a connection score determined by the machine learning-basedpredictive matching engine 1008 and an efficacy (e.g., therapeuticefficacy or other service efficacy) score determined by the machinelearning-based predictive matching engine 1008, as discussed elsewhereherein. A connection score can indicate a personal connector and/or asense of belong a user has, or predicted to have, with a provider user.The efficacy score can indicate a score related to other factors, suchas the likelihood that goals or criteria will be met.

In some embodiments, the machine learning-based predictive matchingengine 1008 determines and/or obtains one or more inventories ofpreferences of the first user. For example, the inventories ofpreferences can include the Cooper—Norcross Inventory of Preferences(C-NIP), the University of Rhode Island Change Assessment Score (URICA),and/or the like. Determining the one or more inventories can includedetermining questions of the one or more inventories, determininganswers to the one or questions (e.g., in response to first user input),and/or determining an inventory score (e.g., between 1 and 100) based onthe inventory questions, the inventory answers, and/or one or moreparameters of the inventory. The inventory score can be calculated bythe machine learning-based predictive matching engine 1008 based on oneor more parameters of the inventories. For example, the one or moreparameters of the inventories can include a default calculation formula,weighted values, models, and/or the like. In some embodiments, themachine learning-based predictive matching engine 1008 may calculate atuned inventory score based on an adjustment of one or more parametersof the inventories of preferences (e.g., based on mental state of auser), as discussed elsewhere herein.

In some embodiments, an inventory of preferences can include one or moregoals or criteria of service (e.g., therapy goals or requirements) of auser (e.g., a patient user). For example, the one or more goals mayinclude a desired therapy (e.g., CBT therapy), a desired geographiclocation of therapy, a desired gender of provider, a desired demographicof the provider (e.g., gender, race, income, and/or the like), and/orother criteria pertaining to the therapy and/or the provider.

In some embodiments, the machine learning-based predictive matchingengine 1008 determines one or more respective goals for each second userof the plurality of second users. For example, the goals (e.g.,criteria) can include type of therapy (e.g., CBT therapy), a desiredgeographic location of therapy, a desired demographic of patient (e.g.,gender, race, income, and/or the like) of provider, and/or othercriteria pertaining to the therapy and/or the provider.

In some embodiments, the machine learning-based predictive matchingengine 1008 generates (e.g., builds from scratch and/or builds from atemplate machine learning model, and/or refines a live machine learningmodel and/or refines a template machine learning model) one or moremachine learning models (e.g., machine learning models 1034) based onthe mental state of the a user (e.g., patient user), the mental state(s)of each of the plurality of other users (e.g., provider users), theinventories of preferences of the user, the one or more respective goalsof the user and the other users, and/or the labeled session data.

In some embodiments, the machine learning-based predictive matchingengine 1008 predicts, based on a mental state of a user (e.g., patientuser), the mental states of a plurality of other users (e.g., providerusers), the inventories of preferences of the user, the labeled sessiondata, and/or one or more machine learning models, one or more matches(e.g., therapeutic matches) between the user and the other users. Forexample, the mental state of the user, the mental states of the otherusers, the inventories of preferences of the user (e.g., an inventoryscore calculated using a default inventory calculation formula and/or atuned inventory score calculated using a tuned inventory calculationformula), and/or the labeled session data may be provided as input tothe one or more machine learning models and the output can indicatewhether there is a match between the user and one or more of the otherusers.

In some embodiments, the machine learning-based predictive matchingengine 1008 automatically connects, in response to receiving the userselection of the particular second user of the one or more second usersof the plurality of second users, the first user with each of the one ormore second users of the plurality of second users. For example, themachine learning-based predictive matching engine 1008 may connect theusers via electronic mail, social media, telephone, text message, mobileapplication, and/or the like. For example, the machine learning-basedpredictive matching engine 1008 may trigger a notification on a matcheduser's device (e.g., patient user device, provider user device). In someembodiments, the device may be triggered even if the notification issent while the device is offline (e.g., asleep, without network access,turned off). For example, the notification may be triggered when thedevice wakes up, access a network, or is turned on. In some embodiments,the notification may trigger the device to wake up, access a network,and/or turn on.

In some embodiments, the machine learning-based predictive matchingengine 1008 generates, based on the one or more machine learning modelsand the provided machine learning input data, a respective connectionscore for each of one or more user pairs. As used herein, a user pair isa first user (e.g., a patient user) and another user (e.g., provideruser) of a set of different users (e.g., a set of provider users). Forexample, if there is as patient user and ten provider users, there wouldbe ten different user pairs. The connection score may be an output ofthe one or more machine learning models (e.g., a first machine learningmodel of the one or more machine learning models) and/or based on theoutput.

In some embodiments, the machine learning-based predictive matchingengine 1008 generates, based on the one or more machine learning modelsand the provided machine learning input data, a respective efficacyscore for each of one or more user pairs. The efficacy score may be anoutput of the one or more machine learning models (e.g., a secondmachine learning model of the one or more machine learning models)and/or based on the output. In some embodiments, the machinelearning-based predictive matching engine 1008 generates, based on therespective connection scores and the respective efficacy scores, arespective alliance (or, match) score for each user pair.

In some embodiments, the machine learning-based predictive matchingengine 1008 can plot, and/or otherwise include, the connection scoresand efficacy as part of a multi-dimensional axis and/or coordinatesystem. For example, connection scores may correspond to a first axis ofthe multi-dimensional axis and/or coordinate system, and the efficacyscores may correspond to a second axis of the multi-dimensional axisand/or coordinate system.

In some embodiments, the machine learning-based predictive matchingengine 1008 compares each of the respective alliances scores with athreshold alliance score. The machine learning-based predictive matchingengine 1008 can predict, based on the comparisons, for each user whetherthe pair is a predicted successful match and/or a predicted unsuccessfulmatch. For example, if an alliance score satisfies the thresholdalliance score (e.g., it meets or exceeds the alliance threshold score),then the machine learning-based predictive matching system may predict asuccessful match, and if an alliance score does not satisfy thethreshold alliance score (e.g., it is below the alliance thresholdscore), then the machine learning-based predictive matching system maypredict an unsuccessful match.

The feedback engine 1010 may function to train, refine, and/or otherwiseimprove the machine learning and/or machine learning models 1034described herein. In some embodiments, the feedback engine 216 receivesuser selections of provider users for a set of predicted successfulmatches. In some embodiments, the user selections may occur after aprovider has been selected, and the user may indicate whether thepredicted successful match was an actual successful match (e.g.,according to input received from the patient user and/or provider user).The feedback engine 216 may utilize the user selections to adjustparameters of the machine learning models 1034, and/or otherwise train,retrain, refine, and/or improve the corresponding machine learningand/or machine learning models 1034.

The presentation engine 1012 may function to present visual, audio,and/or haptic information. In some embodiments, the presentation engine1012 generates graphical user interfaces, and/or components thereof(e.g., server-side graphical user interface components) that can berendered as complete graphical user interfaces on remote systems (e.g.,user systems 104). In some embodiments, the presentation engine 1202receives and/or transmits data. For example, the presentation engine canreceive and/or transmit user selections (e.g., received through agraphical interface generated by the presentation engine 1012.

The communication engine 1014 may function to send requests, transmitand receive communications, and/or otherwise provide communication withone or more of the systems, engines, devices and/or datastores describedherein. In a specific implementation, the communication engine 1014 mayfunction to encrypt and decrypt communications. The communication engine1014 may function to send requests to and receive data from one or moresystems through a network or a portion of a network (e.g., communicationnetwork 108). In a specific implementation, the communication engine1014 may send requests and receive data through a connection, all or aportion of which can be a wireless connection. The communication engine1014 may request and receive messages, and/or other communications fromassociated systems and/or engines. Communications may be stored in themachine learning-based predictive matching system datastore 1020.

FIGS. 11A-B depict a flowchart of an example of a method 1100 of machinelearning-based match (e.g., therapeutic match) prediction according tosome embodiments. In this and other flowcharts and/or sequence diagrams,the flowchart illustrates by way of example a sequence of steps. Itshould be understood that some or all of the steps may be repeated,reorganized for parallel execution, and/or reordered, as applicable.Moreover, some steps that could have been included may have been removedto avoid providing too much information for the sake of clarity and somesteps that were included could be removed, but may have been includedfor the sake of illustrative clarity.

In step 1102, a machine learning-based state prediction andvisualization system (e.g., machine learning-based state prediction andvisualization system 102) obtains first electronic data (e.g.,electronic data 252) of a first user (e.g., user system 104 and/or apatient user of a user system 104). In some embodiments, a communicationengine (e.g., communication engine 220) and/or an electronic datacollection engine (e.g., electronic data collection engine 208) obtainsthe first electronic data over a communication network (e.g.,communication network 108) from one or more user systems (e.g., usersystems 104) and/or one or more third-party systems (e.g., third-partysystems 106). A management engine (e.g., management engine 202) maystore the first electronic data in one or more datastores (e.g., machinelearning-based state prediction and visualization system datastore 240and/or machine learning-based predictive matching system datastore1020).

In step 1104, the machine learning-based state prediction andvisualization system obtains second electronic data (e.g., electronicdata 252) for each of a plurality of second users (e.g., user systems104 and/or provider users of the user systems 104). In some embodiments,the communication engine and/or the electronic data collection engineobtains the second electronic data over the communication network fromone or more user systems (e.g., user systems 104) and/or one or morethird-party systems (e.g., third-party systems 106). The managementengine may store the second electronic data in the one or moredatastores.

In step 1106, the machine learning-based state prediction andvisualization system determines first input data (e.g., machine learninginput data 254) for at least one first machine learning model (e.g., atleast one machine learning model 256) based on the first electronic dataof the user. In some embodiments, a machine learning input data engine(e.g., machine learning input data engine 210) determines the firstinput data.

In step 1108, the machine learning-based state prediction andvisualization system determines second input data (e.g., machinelearning input data 254) for the at least one first machine learningmodel based on the first electronic data of the user. In someembodiments, a machine learning input data engine (e.g., machinelearning input data engine 210) determines the second input data.

In step 1110, the machine learning-based state prediction andvisualization system predicts, based on the first input data and the atleast one first machine learning model (e.g., the first input data maybe provided as input to the first machine learning model), a firstmental state of the first user. The first mental state may comprise aset of first mood values (e.g., mood values 260), a set of firstuncertainty values, and a set of a first magnitude values. Each firstmood value of the set of first mood values may be associated with acorresponding first uncertainty value of the set of first uncertaintyvalues and a corresponding first magnitude value of the set of firstmagnitude values. The first magnitude value may indicate a firstrelative strength and/or weakness of the associated first mood value. Insome embodiments, a machine learning-based state prediction engine(e.g., machine learning-based state prediction engine 212) performs theprediction. In some embodiments, the predicted first mental state of theuser (e.g., at a particular point of time and/or a particular period oftime) may be stored by the management engine in a patient user profile(e.g., a user profile 250) and/or the datastore.

In step 1112, the machine learning-based state prediction andvisualization system predicts, based on the second input data and the atleast one first machine learning model (e.g., the second input data maybe provided as input to the first machine learning model), a secondmental state of the second user. The second mental state may comprise aset of second mood values (e.g., mood values 260), a set of seconduncertainty values, and a set of second magnitude values. Each secondmood value of the set of second mood values may be associated with acorresponding second uncertainty value of the set of second uncertaintyvalues and a corresponding second magnitude value of the set of secondmagnitude values. The second magnitude value may indicate a secondrelative strength and/or weakness of the associated first mood value. Insome embodiments, the machine learning-based state prediction engineperforms the prediction. In some embodiments, the predicted secondmental state of the second user (e.g., at a particular point of timeand/or a particular period of time) may be stored by the managementengine in a provider user profile (e.g., a user profile 1030) and/ormachine learning-based predictive matching system datastore.

In step 1114, a machine learning-based predictive matching system (e.g.,machine learning-based predictive matching system 103) determines one ormore inventories of preferences (e.g., C-NIP, URICA) of the first user.Determining the one or more inventories can include determiningquestions of the one or more inventories, determining answers to the oneor questions (e.g., in response to first user input), and/or determiningan inventory score (e.g., between 1 and 100) based on the inventorquestions, and the inventory answers, and/or a default inventory scorecalculation formula and/or model. The inventory of preferences caninclude one or more goals (or, criteria) of the first user. In someembodiments, a machine learning-based predictive matching engine (e.g.,machine learning-based predictive matching engine 1008) determines theinventory of preferences for the first user. In some embodiments, thegoals of the first inventory may be distinct (e.g., otherwise obtainedby the machine learning-based predictive matching system) from theinventory of preferences. In some embodiments, the machinelearning-based predictive matching engine determines the one or moreinventories of preferences.

In some embodiments, the machine learning-based predictive matchingsystem tunes the one or more inventories of preferences based on themental state of the first user. For example, the machine learning-basedpredictive matching system can adjust the default inventory scorecalculation formula and/or model based on the mental state of the firstuser. In some embodiments, the machine learning-based predictivematching engine tunes the one or more inventories of preferences (e.g.,prior to providing to one or more second machine learning models forpredicting matches).

In step 1116, the machine learning-based predictive matching systemdetermines one or more respective goals for each second user of theplurality of second users. In some embodiments, the machinelearning-based predictive matching engine determines the one or morerespective goals.

In step 1118, the machine learning-based predictive matching systemobtains labeled session data (e.g., machine learning input data 1032)associated with a plurality of successful therapeutic matches. In someembodiments, the machine learning-based predictive matching engineobtains the labeled session data.

In step 1120, the machine learning-based predictive matching systemgenerates (e.g., builds from scratch and/or builds from a templatemachine learning model, and/or refines a live machine learning and/orrefines a template machine learning model) one or more second machinelearning models (e.g., machine learning models 1034) based on the firstmental state of the first user, the respective second mental state(s) ofeach of the plurality of second users, the inventory of preferences ofthe first user, the one or more respective goals of the second users ofthe plurality of second users, and/or the labeled session data. In someembodiments, the machine learning-based predictive matching engineand/or a feedback engine (e.g., feedback engine 1010) generates the oneor more second machine learning models.

In step 1122, the machine learning-based predictive matching systempredicts, based on the first mental state of the first user, therespective second mental states of the plurality of second users, theinventory of preferences of the first user, the labeled session data,and/or one or more second machine learning models, one or more matches(e.g., therapeutic matches) between the first user and one or moresecond users of the plurality of second users. For example, the firstmental state of the first user, the respective second mental states ofthe plurality of second users, the inventory of preferences of the firstuser (e.g., an inventory score calculated using a default inventorycalculation formula and/or a tuned inventory score calculated using atuned inventory calculation formula), and/or the labeled session datamay be provided as input to the one or more second machine learningmodels. In some embodiments, a machine learning-based predictivematching engine (e.g., machine learning-based predictive matching engine1008) predicts the match.

In step 1124, the machine learning-based predictive matching systemfacilitates presentation, via a graphical user interface (GUI), of theone or more predicted therapeutic matches. In some embodiments, apresentation engine (e.g., presentation engine 1012) facilitates thepresentation.

In step 1126, the machine learning-based predictive matching systemreceives, in response to the first user interacting with the GUI, a userselection of a particular second user of the one or more second users ofthe plurality of second users. In some embodiments, the presentationengine receives the user selection.

In step 1128, the machine learning-based predictive matching systemautomatically connects, in response to receiving the user selection ofthe particular second user of the one or more second users of theplurality of second users, the first user with each of the one or moresecond users of the plurality of second users. In some embodiments, themachine learning-based predictive matching engine performs theconnecting.

FIG. 12 depicts a flowchart of an example of a method 1200 of mentalstate prediction for multiple users (e.g., one or more patient usersand/or one or more provider users) according to some embodiments. Inthis and other flowcharts and/or sequence diagrams, the flowchartillustrates by way of example a sequence of steps. It should beunderstood that some or all of the steps may be repeated, reorganizedfor parallel execution, and/or reordered, as applicable. Moreover, somesteps that could have been included may have been removed to avoidproviding too much information for the sake of clarity and some stepsthat were included could be removed, but may have been included for thesake of illustrative clarity.

In step 1202, a machine learning-based state prediction andvisualization system (e.g., machine learning-based state prediction andvisualization system 102) maps a set of first mood values (e.g., moodvalues 260), a set of first uncertainty values, and a set of firstmagnitude values to a first coordinate system (e.g., a two-dimensionalcoordinate system and/or three-dimensional coordinate system). The firstcoordinate system may comprise a plurality of different first moodregions. Each of the set of first mood values may be mapped to the firstcoordinate system as a corresponding first user point in the firstcoordinate system. Each of the corresponding first uncertainty valuesmay be mapped as a corresponding first radius originating at thecorresponding first user point in the first coordinate system. In someembodiments, a machine learning-based state prediction engine (e.g.,machine learning-based state prediction engine 212) and/or visualizationengine 214 performs the mapping. In some embodiments, a first mentalstate of a first user (e.g., user system 104 and/or a patient user of auser system 104) is defined by the mapping of step 1202 (and/or othermappings described herein) and/or vice versa. Accordingly, in someinstances, the first user may have a unique mental state (e.g.,different from any other user or previously known or defined mentalstate).

In step 1204, the machine learning-based state prediction andvisualization system identifies at least a first mood region of theplurality of different mood first regions that includes at least onecorresponding user mapped therein. In some embodiments, the machinelearning-based state prediction engine and/or visualization engineperforms the identification

In step 1206, the machine learning-based state prediction andvisualization system identifies at least a second mood region of theplurality of different first mood regions that does not include anycorresponding user points mapped therein, and also includes at least aportion of a first radius of the corresponding radii mapped in the firstcoordinate system. In some embodiments, the machine learning-based stateprediction engine and/or visualization engine performs theidentification.

In some embodiments, the mental state of the first user is predictedbased on the mood regions identified in steps 1204 and 1206, as well asthe first magnitude values associated with the at least onecorresponding first user point mapped in the at least a first moodregion of the plurality of different first moods regions and the firstradius of the corresponding radii mapped in the first coordinate system.

In step 1208, the machine learning-based state prediction andvisualization system maps a set of second mood values (e.g., mood values260), a set of second uncertainty values, and a set of second magnitudevalues to a second coordinate system (e.g., a two-dimensional coordinatesystem and/or three-dimensional coordinate system). In some embodiments,the second coordinate system is the same as the first coordinate system.In some embodiments, the second coordinate system is different from thefirst coordinate system. The second coordinate system may comprise aplurality of different second mood regions. Each of the set of secondmood values may be mapped to the second coordinate system as acorresponding second user point in the second coordinate system. Each ofthe corresponding second uncertainty values may be mapped as acorresponding second radius originating at the corresponding second userpoint in the second coordinate system. In some embodiments, the machinelearning-based state prediction engine and/or visualization engine 214performs the mapping. In some embodiments, a second mental state of asecond user (e.g., user system 104 and/or a patient user of a usersystem 104) is defined by the mapping of step 1202 (and/or othermappings described herein) and/or vice versa. Accordingly, in someinstances, the second user may have a unique mental state (e.g.,different from any other user or previously known or defined mentalstate).

In step 1210, the machine learning-based state prediction andvisualization system identifies at least a first mood region of theplurality of different second mood regions that includes at least onecorresponding second user mapped therein. In some embodiments, themachine learning-based state prediction engine and/or visualizationengine performs the identification

In step 1212, the machine learning-based state prediction andvisualization system identifies at least a second mood region of theplurality of different second mood regions that does not include anycorresponding user points mapped therein, and also includes at least aportion of a second radius of the corresponding radii mapped in thesecond coordinate system. In some embodiments, the machinelearning-based state prediction engine and/or visualization engineperforms the identification.

In some embodiments, the mental state of the first user is predictedbased on the mood regions identified in steps 1210 and 1212, as well asthe second magnitude values associated with the at least onecorresponding second user point mapped in the at least a first moodregion of the plurality of different second moods regions and the secondradius of the corresponding radii mapped in the second coordinatesystem.

FIG. 13 depicts a flowchart of an example of a method 1300 of machinelearning-based match (e.g., therapeutic match) prediction according tosome embodiments. In this and other flowcharts and/or sequence diagrams,the flowchart illustrates by way of example a sequence of steps. Itshould be understood that some or all of the steps may be repeated,reorganized for parallel execution, and/or reordered, as applicable.Moreover, some steps that could have been included may have been removedto avoid providing too much information for the sake of clarity and somesteps that were included could be removed, but may have been includedfor the sake of illustrative clarity.

In step 1302, a machine learning-based state prediction andvisualization system (e.g., machine learning-based state prediction andvisualization system 102) obtains first electronic data (e.g.,electronic data 252) of a first user (e.g., user system 104 and/or apatient user of a user system 104). In some embodiments, a communicationengine (e.g., communication engine 220) and/or an electronic datacollection engine (e.g., electronic data collection engine 208) obtainsthe first electronic data over a communication network (e.g.,communication network 108) from one or more user systems (e.g., usersystems 104) and/or one or more third-party systems (e.g., third-partysystems 106). A management engine (e.g., management engine 202) maystore the first electronic data in one or more datastores (e.g., machinelearning-based state prediction and visualization system datastore 240and/or machine learning-based predictive matching system datastore1020).

In step 1304, the machine learning-based state prediction andvisualization system obtains second electronic data (e.g., electronicdata 252) for each of a plurality of second users (e.g., user systems104 and/or provider users of the user systems 104). In some embodiments,the communication engine and/or the electronic data collection engineobtains the second electronic data over the communication network fromone or more user systems (e.g., user systems 104) and/or one or morethird-party systems (e.g., third-party systems 106). The managementengine may store the second electronic data in the one or moredatastores.

In step 1306, the machine learning-based state prediction andvisualization system determines first input data (e.g., machine learninginput data 254) for at least one first machine learning model (e.g., atleast one machine learning model 256) based on the first electronic dataof the user. In some embodiments, a machine learning input data engine(e.g., machine learning input data engine 210) determines the firstinput data.

In step 1308, the machine learning-based state prediction andvisualization system predicts, based on the first input data and the atleast one first machine learning model (e.g., the first input data maybe provided as input to the first machine learning model), a firstmental state of the first user. The first mental state may comprise aset of first mood values (e.g., mood values 260), a set of firstuncertainty values, and a set of a first magnitude values. Each firstmood value of the set of first mood values may be associated with acorresponding first uncertainty value of the set of first uncertaintyvalues and a corresponding first magnitude value of the set of firstmagnitude values. The first magnitude value may indicate a firstrelative strength and/or weakness of the associated first mood value. Insome embodiments, a machine learning-based state prediction engine(e.g., machine learning-based state prediction engine 212) performs theprediction. In some embodiments, the predicted first mental state of theuser (e.g., at a particular point of time and/or a particular period oftime) may be stored by the management engine in a patient user profile(e.g., a user profile 250) and/or the datastore.

In step 1310, a machine learning-based predictive matching system (e.g.,machine learning-based predictive matching system 103) predicts, basedon the first mental state of the first user, the second electronic datafor each of the plurality of second users, and one or more secondmachine learning models (e.g., the first mental state of the first user,the second electronic data for each of the plurality of second users maybe provides as input the one or more second machine learning models),one or more matches (e.g., therapeutic matches) between the first userand one or more second users of the plurality of second users. In someembodiments, a machine learning-based predictive matching engine (e.g.,metadata processing engine 1008) predicts the one or more therapeuticmatches between the first user and one or more second users of theplurality of second users.

In step 1312, the machine learning-based predictive matching systemfacilitates presentation, via a graphical user interface (GUI), of theone or more therapeutic matches. In some embodiments, a presentationengine (e.g., presentation engine 1012) facilitates the presentation.

In step 1314, the machine learning-based predictive matching systemreceives, in response to the first user interacting with the GUI, a userselection of a particular second user of the one or more second users ofthe plurality of second users. In some embodiments, the presentationengine receives the user selection.

In step 1316, the machine learning-based predictive matching systemautomatically connects, in response to receiving the user selection ofthe particular second user of the one or more second users of theplurality of second users, the first user with each of the one or moresecond users of the plurality of second users. In some embodiments, themachine learning-based predictive matching engine performs theconnecting

FIG. 14 depicts a flowchart of an example of a method 1400 ofdetermining inventory preferences according to some embodiment. In thisand other flowcharts and/or sequence diagrams, the flowchart illustratesby way of example a sequence of steps. It should be understood that someor all of the steps may be repeated, reorganized for parallel execution,and/or reordered, as applicable. Moreover, some steps that could havebeen included may have been removed to avoid providing too muchinformation for the sake of clarity and some steps that were includedcould be removed, but may have been included for the sake ofillustrative clarity.

In step 1402, a machine learning-based predictive matching systemreceives one or more user responses to one or more features (e.g.,questions) of one or more inventories of preferences (e.g., C-NIP,URICA). In some embodiments, a presentation engine (e.g., presentationengine 1012) and/or communication engine (e.g., 1014) receives the oneor more user responses (e.g., over communication network 108).

In step 1404, the machine learning-based predictive matching systemobtains a default inventory score calculation formula and/or model. Insome embodiments, a machine learning-based predictive matching engine(e.g., machine learning-based predictive matching engine 1008) obtainsthe default inventory score calculation formula and/or model.

In step 1406, a machine learning-based state prediction andvisualization system (e.g., machine learning-based state prediction andvisualization system 102) predicts a mental state of the user. In someembodiments, a machine learning-based state prediction engine (e.g.,machine learning-based state prediction engine 212) predicts the mentalstate of the user.

In step 1408, the machine learning-based predictive matching systemgenerates a tuned inventory score calculation formula and/or model basedon the default inventory score calculation formula and/or model and thepredicted mental state of the user. In some embodiments, a machinelearning-based predictive matching engine (e.g., machine learning-basedpredictive matching engine 1008) and/or a feedback engine (e.g.,feedback engine 1010) generates the tuned inventory score calculationformula and/or model.

In step 1410, the machine learning-based predictive matching systemgenerates an inventory score based on the mental state of the user andthe default inventory score calculation formula and/or model. In someembodiments, the machine learning-based predictive matching enginegenerates the inventory score.

In step 1410, the machine learning-based predictive matching systemgenerates a tuned inventory score based on the mental state of the userand the tuned inventory score calculation formula and/or model. In someembodiments, the machine learning-based predictive matching enginegenerates the tuned inventory score.

FIG. 15 depicts a flowchart of an example of a method 1500 of machinelearning-based match prediction according to some embodiments. In thisand other flowcharts and/or sequence diagrams, the flowchart illustratesby way of example a sequence of steps. It should be understood that someor all of the steps may be repeated, reorganized for parallel execution,and/or reordered, as applicable. Moreover, some steps that could havebeen included may have been removed to avoid providing too muchinformation for the sake of clarity and some steps that were includedcould be removed, but may have been included for the sake ofillustrative clarity.

In step 1502, a machine learning-based predictive matching system (e.g.,machine learning-based predictive matching system 103) determinesmachine learning input data (e.g., machine learning input data 1032) forone or more machine learning models (e.g., 1034) for predicting matches(e.g., therapeutic matches). For example, the machine learning inputdata can include predicted mental state(s) of a first user (e.g., apatient user), predicted mental state(s) for each of a plurality ofsecond users (e.g., provider users), user goals (e.g., provider goals orcriteria, patient goals or criteria), inventories of a preferences ofthe first user (e.g., C-NIP, URICA), inventory scores (e.g., defaultinventory scores, tuned inventory scores), and/or curated portions ofsome or off the aforementioned data. In some embodiments, a machinelearning input data engine (e.g., machine learning input data engine1006) determines the machine learning input data.

In step 1504, the machine learning-based predictive matching systemprovides at least a portion of the machine learning input data to theone or more machine learning models. In some embodiments, the machinelearning input data engine provides the machine learning input data tothe one or more machine learning models of a machine learning-basedpredictive matching engine (e.g., machine learning-based predictivematching engine 1008).

In step 1506, the machine learning-based predictive matching systemgenerates, based on the one or more machine learning models and theprovided machine learning input data, a respective connection score foreach first user and second user pair. The connection score may be anoutput of the one or more machine learning models (e.g., a first machinelearning model of the one or more machine learning models) and/or basedon the output. In some embodiments, the machine learning-basedpredictive matching engine generates the respective connection scores.

In step 1508, the machine learning-based predictive matching systemgenerates, based on the one or more machine learning models and theprovided machine learning input data, a respective efficacy score foreach first user and second user pair. The efficacy score may be anoutput of the one or more machine learning models (e.g., a secondmachine learning model of the one or more machine learning models)and/or based on the output. In some embodiments, the machinelearning-based predictive matching engine generates the respectiveefficacy scores.

In step 1510, the machine learning-based predictive matching systemgenerates, based on the respective connection scores and the respectiveefficacy scores, a respective alliance (or, match) score for each firstand second user pair. In some embodiments, the machine learning-basedpredictive matching system generates the respective alliance scores.

In step 1512, the machine learning-based predictive matching systemcompares each of the respective alliances scores with a thresholdalliance score. In some embodiments, the machine learning-basedpredictive matching engine performs the comparison.

In step 1514, the machine learning-based predictive matching enginepredicts, based on the comparisons, for each first user and second userpair whether the pair is a predicted successful match and/or a predictedunsuccessful match. For example, if an alliance score satisfies thethreshold alliance score (e.g., it meets or exceeds the alliancethreshold score), then the machine learning-based predictive matchingsystem may predict a successful match, and if an alliance score does notsatisfy the threshold alliance score (e.g., it is below the alliancethreshold score), then the machine learning-based predictive matchingsystem may predict an unsuccessful match. In some embodiments, themachine learning-based predictive matching engine performs theprediction.

FIG. 16 depicts a diagram 1600 of an example of a computing device 1602.Any of the systems, engines, datastores, and/or networks describedherein may comprise an instance of one or more computing devices 1602.In some embodiments, functionality of the computing device 1602 isimproved to the perform some or all of the functionality describedherein. The computing device 1602 comprises a processor 1604, memory1606, storage 1608, an input device 1610, a communication networkinterface 1612, and an output device 1614 communicatively coupled to acommunication channel 1616. The processor 1604 is configured to executeexecutable instructions (e.g., programs). In some embodiments, theprocessor 1604 comprises circuitry or any processor capable ofprocessing the executable instructions.

The memory 1606 stores data. Some examples of memory 1606 includestorage devices, such as RAM, ROM, RAM cache, virtual memory, etc. Invarious embodiments, working data is stored within the memory 1606. Thedata within the memory 1606 may be cleared or ultimately transferred tothe storage 1608.

The storage 1608 includes any storage configured to retrieve and storedata. Some examples of the storage 1608 include flash drives, harddrives, optical drives, cloud storage, and/or magnetic tape. Each of thememory system 1606 and the storage system 1608 comprises acomputer-readable medium, which stores instructions or programsexecutable by processor 1604.

The input device 1610 is any device that inputs data (e.g., mouse andkeyboard). The output device 1614 outputs data (e.g., a speaker ordisplay). It will be appreciated that the storage 1608, input device1610, and output device 1614 may be optional. For example, therouters/switchers may comprise the processor 1604 and memory 1606 aswell as a device to receive and output data (e.g., the communicationnetwork interface 1612 and/or the output device 1614).

The communication network interface 1612 may be coupled to a network(e.g., network 108) via the link 1618. The communication networkinterface 1612 may support communication over an Ethernet connection, aserial connection, a parallel connection, and/or an ATA connection. Thecommunication network interface 1612 may also support wirelesscommunication (e.g., 802.11 a/b/g/n, WiMax, LTE, WiFi). It will beapparent that the communication network interface 1612 may support manywired and wireless standards.

It will be appreciated that the hardware elements of the computingdevice 1602 are not limited to those depicted in FIG. 16. A computingdevice 1602 may comprise more or less hardware, software and/or firmwarecomponents than those depicted (e.g., drivers, operating systems, touchscreens, biometric analyzers, and/or the like). Further, hardwareelements may share functionality and still be within various embodimentsdescribed herein. In one example, encoding and/or decoding may beperformed by the processor 1604 and/or a co-processor located on a GPU(i.e., NVidia).

It will be appreciated that an “engine,” “system,” “datastore,” and/or“database” may comprise software, hardware, firmware, and/or circuitry.In one example, one or more software programs comprising instructionscapable of being executable by a processor may perform one or more ofthe functions of the engines, datastores, databases, or systemsdescribed herein. In another example, circuitry may perform the same orsimilar functions. Alternative embodiments may comprise more, less, orfunctionally equivalent engines, systems, datastores, or databases, andstill be within the scope of present embodiments. For example, thefunctionality of the various systems, engines, datastores, and/ordatabases may be combined or divided differently. The datastore ordatabase may include cloud storage. It will further be appreciated thatthe term “or,” as used herein, may be construed in either an inclusiveor exclusive sense. Moreover, plural instances may be provided forresources, operations, or structures described herein as a singleinstance.

The datastores described herein may be any suitable structure (e.g., anactive database, a relational database, a self-referential database, atable, a matrix, an array, a flat file, a documented-oriented storagesystem, a non-relational No-SQL system, and the like), and may becloud-based or otherwise.

The systems, methods, engines, datastores, and/or databases describedherein may be at least partially processor-implemented, with aparticular processor or processors being an example of hardware. Forexample, at least some of the operations of a method may be performed byone or more processors or processor-implemented engines. Moreover, theone or more processors may also operate to support performance of therelevant operations in a “cloud computing” environment or as a “softwareas a service” (SaaS). For example, at least some of the operations maybe performed by a group of computers (as examples of machines includingprocessors), with these operations being accessible via a network (e.g.,the Internet) and via one or more appropriate interfaces (e.g., anApplication Program Interface (API)).

The performance of certain of the operations may be distributed amongthe processors, not only residing within a single machine, but deployedacross a number of machines. In some example embodiments, the processorsor processor-implemented engines may be located in a single geographiclocation (e.g., within a home environment, an office environment, or aserver farm). In other example embodiments, the processors orprocessor-implemented engines may be distributed across a number ofgeographic locations.

Throughout this specification, plural instances may implementcomponents, operations, or structures described as a single instance.Although individual operations of one or more methods are illustratedand described as separate operations, one or more of the individualoperations may be performed concurrently, and nothing requires that theoperations be performed in the order illustrated. Structures andfunctionality presented as separate components in example configurationsmay be implemented as a combined structure or component. Similarly,structures and functionality presented as a single component may beimplemented as separate components. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

The present invention(s) are described above with reference to exampleembodiments. It will be apparent to those skilled in the art thatvarious modifications may be made and other embodiments may be usedwithout departing from the broader scope of the present invention(s).Therefore, these and other variations upon the example embodiments areintended to be covered by the present invention(s).

What is claimed is:
 1. A computing system comprising: one or moreprocessors; and memory storing instructions that, when executed by theone or more processors, cause the computing system to perform: obtainingfirst electronic data of a first user; obtaining second electronic datafor each of a plurality of second users; determining first input datafor at least one first machine learning model based on the firstelectronic data of the first user; predicting, based on the first inputdata and the at least one first machine learning model, a first mentalstate of the first user, the first mental state comprising a set offirst mood values, a set of first uncertainty values, and a set of firstmagnitude values, each first mood value of the set of first mood valuesbeing associated with a corresponding first uncertainty value of the setof first uncertainty values and a corresponding first magnitude value ofthe set of first magnitude values, the first magnitude value indicatinga first relative strength or weakness of the associated first moodvalue; predicting, based on the first mental state of the first user,the second electronic data for each of the plurality of second users,and one or more second machine learning models, one or more therapeuticmatches between the first user and one or more second users of theplurality of second users; facilitating presentation, via a graphicaluser interface (GUI), of the one or more predicted therapeutic matches;receiving, in response to the first user interacting with the GUI, auser selection of a particular second user of the one or more secondusers of the plurality of second users; and automatically connecting, inresponse to receiving the user selection of the particular second userof the one or more second users of the plurality of second users, thefirst user with each of the one or more second users of the plurality ofsecond users.
 2. The system of claim 1, wherein the instructions, whenexecuted by the one or more processors, cause the computing system toperform: determining second input data for at least one first machinelearning model based on the second electronic data for each of aplurality of second users; predicting, based on the second input dataand the at least one first machine learning model, a respective secondmental state of each of the second users of the plurality of secondusers, each of the respective second mental states comprising a set ofsecond mood values, a set of second uncertainty values, and a set ofsecond magnitude values, each second mood value of the set of secondmood values being associated with a corresponding second uncertaintyvalue of the set of second uncertainty values and a corresponding secondmagnitude value of the set of second magnitude values, the secondmagnitude value indicating a second relative strength or weakness of theassociated second mood value; determining one or more inventories ofpreferences of the first user, wherein the inventories of preferencesinclude one or more goals of the first user; determining one or morerespective goals for each second user of the plurality of second users;obtaining labeled session data associated with a plurality of successfultherapeutic matches; and generating the one or more second machinelearning models based on the first mental state of the first user, therespective second mental state of each of the plurality of second users,the inventory of preferences of the first user, the one or morerespective goals for each second user of the plurality of second users,and the labeled session data.
 3. The system of claim 1, wherein thepredicting, based on the first mental state of the first user, thesecond electronic data for each of the plurality of second users, andone or more second machine learning models, one or more therapeuticmatches between the first user and one or more second users of theplurality of second users comprises: predicting, based on the firstmental state of the first user, a respective second mental state of eachof the plurality of second users, the inventory of user preferences ofthe first user, the one or more goals of the second user, the labeledsession data associated with a plurality of successful therapeuticmatches, and one or more second machine learning models, one or moretherapeutic matches between the first user and one or more second usersof the plurality of second users.
 4. The system of claim 1, wherein thefirst electronic data includes text messages sent by the first user,email messages sent by the first user, voice data of the first user,image data of the first user, and one or more physical orientations of adevice of the first user.
 5. The system of claim 1, wherein the secondelectronic data includes text messages sent by the second user, emailmessages sent by the second user, voice data of the second user, imagedata of the second user, and one or more physical orientations of adevice of the second user.
 6. The system of claim 1, wherein thepredicting, based on the first input data and the at least one firstmachine learning model, the first mental state of the first user furthercauses the computing system to perform: mapping the set of first moodvalues, the set of first uncertainty values, and the set of firstmagnitude values to a first coordinate system, the first coordinatesystem comprising a plurality of different first mood regions, whereineach of the set of first mood values is mapped to the first coordinatesystem as a corresponding first user point in the first coordinatesystem, and wherein each of the corresponding first uncertainty valuesis mapped as a corresponding first radius originating at thecorresponding first point in the first coordinate system; identifying atleast a first mood region of the plurality of different first moodregions that includes at least one corresponding user mapped therein;identifying at least a second mood region of the plurality of differentfirst mood regions that does not include any corresponding user pointsmapped therein, and includes at least a portion of a first radius of thecorresponding radii mapped in the coordinate system; and wherein thefirst mental state of the first user is predicted based on theidentified at least a first mood region of the plurality of differentfirst moods regions, the identified at least a second mood region of theplurality of different first mood regions, and the first magnitudevalues associated with the at least one corresponding user point mappedin the at least a first mood region of the plurality of different firstmoods regions and the first radius of the corresponding radii mapped inthe first coordinate system.
 7. The system of claim 6, wherein the firstcoordinate system comprises a two-dimensional coordinate system.
 8. Thesystem of claim 6, wherein the first coordinate system comprises athree-dimensional coordinate system.
 9. The system of claim 6, whereineach first mood value of the set of first mood values is associated witha corresponding point in time.
 10. The system of claim 6, wherein thepredicting, based on the second input data and the at least one firstmachine learning model, a respective second mental state of each of thesecond users of the plurality of second users further causes thecomputing system to perform for each of the second users of theplurality of second users: mapping the set of second mood values, theset of second uncertainty values, and the set of second magnitude valuesto a second coordinate system, the second coordinate system comprising aplurality of different second mood regions, wherein each of the set ofsecond mood values is mapped to the second coordinate system as acorresponding second user point in the second coordinate system, andwherein each of the corresponding second uncertainty values is mapped asa corresponding second radius originating at the corresponding secondpoint in the second coordinate system; identifying at least a first moodregion of the plurality of different second mood regions that includesat least one corresponding user mapped therein; identifying at least asecond mood region of the plurality of different second mood regionsthat does not include any corresponding user points mapped therein, andincludes at least a portion of a second radius of the correspondingradii mapped in the second coordinate system; and wherein the secondmental state of the second user is predicted based on the identified atleast a first mood region of the plurality of different second moodsregions, the identified at least a second mood region of the pluralityof different second mood regions, and the second magnitude valuesassociated with the at least one corresponding user point mapped in theat least a first mood region of the plurality of different second moodsregions and the second radius of the corresponding radii mapped in thesecond coordinate system.
 11. A method being implemented by a computingsystem including one or more physical processors and storage mediastoring machine-readable instructions, the method comprising: obtainingfirst electronic data of a first user; obtaining second electronic datafor each of a plurality of second users; determining first input datafor at least one first machine learning model based on the firstelectronic data of the first user; predicting, based on the first inputdata and the at least one first machine learning model, a first mentalstate of the first user, the first mental state comprising a set offirst mood values, a set of first uncertainty values, and a set of firstmagnitude values, each first mood value of the set of first mood valuesbeing associated with a corresponding first uncertainty value of the setof first uncertainty values and a corresponding first magnitude value ofthe set of first magnitude values, the first magnitude value indicatinga first relative strength or weakness of the associated first moodvalue; predicting, based on the first mental state of the first user,the second electronic data for each of the plurality of second users,and one or more second machine learning models, one or more therapeuticmatches between the first user and one or more second users of theplurality of second users; facilitating presentation, via a graphicaluser interface (GUI), of the one or more predicted therapeutic matches;receiving, in response to the first user interacting with the GUI, auser selection of a particular second user of the one or more secondusers of the plurality of second users; and automatically connecting, inresponse to receiving the user selection of the particular second userof the one or more second users of the plurality of second users, thefirst user with each of the one or more second users of the plurality ofsecond users.
 12. The method of claim 11, further comprising:determining second input data for at least one first machine learningmodel based on the second electronic data for each of a plurality ofsecond users; predicting, based on the second input data and the atleast one first machine learning model, a respective second mental stateof each of the second users of the plurality of second users, each ofthe respective second mental states comprising a set of second moodvalues, a set of second uncertainty values, and a set of secondmagnitude values, each second mood value of the set of second moodvalues being associated with a corresponding second uncertainty value ofthe set of second uncertainty values and a corresponding secondmagnitude value of the set of second magnitude values, the secondmagnitude value indicating a second relative strength or weakness of theassociated second mood value; determining one or more inventories ofpreferences of the first user, wherein the inventories of preferencesinclude one or more goals of the first user; determining one or morerespective goals for each second user of the plurality of second users;obtaining labeled session data associated with a plurality of successfultherapeutic matches; and generating the one or more second machinelearning models based on the first mental state of the first user, therespective second mental state of each of the plurality of second users,the inventory of preferences of the first user, the one or morerespective goals for each second user of the plurality of second users,and the labeled session data.
 13. The method of claim 11, wherein thepredicting, based on the first mental state of the first user, thesecond electronic data for each of the plurality of second users, andone or more second machine learning models, one or more therapeuticmatches between the first user and one or more second users of theplurality of second users comprises: predicting, based on the firstmental state of the first user, a respective second mental state of eachof the plurality of second users, the inventory of user preferences ofthe first user, the one or more goals of the second user, the labeledsession data associated with a plurality of successful therapeuticmatches, and one or more second machine learning models, one or moretherapeutic matches between the first user and one or more second usersof the plurality of second users.
 14. The method of claim 11, whereinthe first electronic data includes text messages sent by the first user,email messages sent by the first user, voice data of the first user,image data of the first user, and one or more physical orientations of adevice of the first user.
 15. The method of claim 11, wherein the secondelectronic data includes text messages sent by the second user, emailmessages sent by the second user, voice data of the second user, imagedata of the second user, and one or more physical orientations of adevice of the second user.
 16. The method of claim 11, furthercomprising: mapping the set of first mood values, the set of firstuncertainty values, and the set of first magnitude values to a firstcoordinate system, the first coordinate system comprising a plurality ofdifferent first mood regions, wherein each of the set of first moodvalues is mapped to the first coordinate system as a corresponding firstuser point in the first coordinate system, and wherein each of thecorresponding first uncertainty values is mapped as a correspondingfirst radius originating at the corresponding first point in the firstcoordinate system; identifying at least a first mood region of theplurality of different first mood regions that includes at least onecorresponding user mapped therein; identifying at least a second moodregion of the plurality of different first mood regions that does notinclude any corresponding user points mapped therein, and includes atleast a portion of a first radius of the corresponding radii mapped inthe coordinate system; and wherein the first mental state of the firstuser is predicted based on the identified at least a first mood regionof the plurality of different first moods regions, the identified atleast a second mood region of the plurality of different first moodregions, and the first magnitude values associated with the at least onecorresponding user point mapped in the at least a first mood region ofthe plurality of different first moods regions and the first radius ofthe corresponding radii mapped in the first coordinate system.
 17. Themethod of claim 16, wherein the first coordinate system comprises atwo-dimensional coordinate system.
 18. The method of claim 16, whereinthe first coordinate system comprises a three-dimensional coordinatesystem.
 19. The method of claim 16, wherein each first mood value of theset of first mood values is associated with a corresponding point intime.
 20. The method of claim 16, further comprising: mapping the set ofsecond mood values, the set of second uncertainty values, and the set ofsecond magnitude values to a second coordinate system, the secondcoordinate system comprising a plurality of different second moodregions, wherein each of the set of second mood values is mapped to thesecond coordinate system as a corresponding second user point in thesecond coordinate system, and wherein each of the corresponding seconduncertainty values is mapped as a corresponding second radiusoriginating at the corresponding second point in the second coordinatesystem; identifying at least a first mood region of the plurality ofdifferent second mood regions that includes at least one correspondinguser mapped therein; identifying at least a second mood region of theplurality of different second mood regions that does not include anycorresponding user points mapped therein, and includes at least aportion of a second radius of the corresponding radii mapped in thesecond coordinate system; and wherein the second mental state of thesecond user is predicted based on the identified at least a first moodregion of the plurality of different second moods regions, theidentified at least a second mood region of the plurality of differentsecond mood regions, and the second magnitude values associated with theat least one corresponding user point mapped in the at least a firstmood region of the plurality of different second moods regions and thesecond radius of the corresponding radii mapped in the second coordinatesystem.